أفضل طريقة لإتقان Django هي استخدامه لتطوير تطبيقات كاملة المكدس. سوف تصادف العديد من الميزات الرائعة عند العمل مع إطار العمل. أحدها هو كيفية عرض النماذج في قوالب باستخدام أشكال متموجة.
يعد استخدام أشكال django-crispy أحد الطرق العديدة التي يمكنك من خلالها عرض النماذج في Django. تسمح لك التبعية بإنشاء نماذج في قوالب بدون كتابة كود HTML. يمكنك بسهولة إنشاء تخطيطات قابلة لإعادة الاستخدام دون عناء كتابة كود النموذج.
يمكنك معرفة المزيد عن طريق تثبيت المكتبة ، ثم تكوينها واستخدامها لإنشاء نموذج تسجيل.
كيف تعمل أشكال django-crispy
ال مكتبة django-crispy-Forms يأتي مع كود HTML مدمج يمكنك تخصيصه وفقًا لاحتياجاتك. يتضمن مرشح اسمه | مقرمش الذي يعرض النماذج المستندة إلى div في النموذج.
ال {٪ مقرمش ٪} ستعرض العلامات النماذج وفقًا لإعداد معين. تعمل نماذج jango-crispy بشكل جيد مع تبعيات القوالب الأخرى مثل Bootstrap و Tailwind CSS.
دعونا نرى كيف يعمل ذلك في قالب.
قم بتثبيت Crispy Forms
ابدأ ب إنشاء مشروع Django والتطبيق. ثم قم بتثبيت أحدث إصدار من نماذج django-crispy باستخدام Pipenv باستخدام الأمر التالي:
بيبينف ثَبَّتَ دجانجو-مقرمش
سيبدو التثبيت الناجح بالصورة أدناه:
قم بتكوين نماذج django-crispy في الإعدادات
بعد التثبيت ، يجب عليك تسجيل النماذج المقرمشة كاعتماد في إعدادات المشروع. من خلال تسجيلها ، ستكون مكتبة النماذج المقرمشة متاحة لجميع التطبيقات في المشروع.
في المشروع settings.py ملف ، أضف السلسلة "أشكال مقرمشة":
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'تطبيقي',
'أشكال مقرمشة',
]
قم بإنشاء نموذج
تحتاج إلى مزامنة نموذج التسجيل الخاص بك مع نموذج إنشاء مستخدم Django المدمج للمساعدة في المصادقة.
المدمج في مصادقة مستخدم Django يعالج النظام المتطلبات الشائعة مثل التحقق من صحة كلمات المرور وإصدار الأذونات.
يتعامل النظام أيضًا مع التحقق من صحة النموذج نيابة عنك. لذلك ، يمكنك إنشاء نماذج دون متاعب التعامل مع التحقق بنفسك. إذا كنت قد أجريت التحقق من صحة النموذج في أطر أخرى ، فستعرف مدى صعوبة ذلك. ليس مع Django.
تحتوي وحدة المصادقة على ملف مستخدم نموذج أو كائن. ال مستخدم الكائن هو المكون الرئيسي لنظام مصادقة المستخدم. إنه يتعامل مع الأذونات ، والمصادقة على ملفات تعريف المستخدمين المسجلين ، والتحكم في الوصول ، وغير ذلك الكثير.
ال UserCreationForm يستخدم المدمج في مستخدم الاعتراض على تسجيل مستخدمين جدد. يرث من فئة ModelForm.
أولاً ، قم باستيراد النماذج من وحدة نموذج Django. ثم قم باستيراد ملف UserCreationForm من django.contrib.auth.forms. أيضًا ، قم باستيراد ملف مستخدم نموذج من django.contrib.auth.models. ثم قم باستيراد مدخلات الحقل من django ModelForm.
من دجانغو يستورد نماذج
مندجانغو.contrib.auth.نماذجيستوردUserCreationForm
مندجانغو.contrib.auth.عارضات ازياءيستوردمستخدم
من django.forms يستورد ModelForm ، إدخال النص ، EmailInput ، ImageField ، Textarea
بعد ذلك ، قم بإنشاء كائن تسجيل مسمى RegisterUserForm. يستغرق UserCreationForm كحجة. أضف ال مستخدم حقول الكائن مثل مصادقة البريد الإلكتروني واسم المستخدم وكلمتا المرور.
فصلRegisterUserForm(UserCreationForm):
البريد الإلكتروني = النماذج. EmailField (max_length = 254، help_text ='مطلوب. أدخل عنوان بريد إلكتروني صالح.')
فصلميتا:
النموذج = المستخدم
الحقول = ('اسم المستخدم', 'بريد إلكتروني', 'كلمة المرور 1', 'كلمة المرور 2')
هذه الحقول هي السمات الأساسية للمستخدم في استمارة التسجيل. إنها مدخلات إلزامية يجب على المستخدمين تعبئتها حتى يتمكن النظام من مصادقتها.
قم بإنشاء وظيفة عرض
بعد ذلك ، ستقوم بإنشاء وظيفة عرض لنموذج التسجيل. أولاً ، قم باستيراد وظيفة التجسيد بالإضافة إلى ملف RegisterUserForm من Forms.py. ثم قم باستيراد ملف مستخدم نموذج من django.contrib.auth.models.
تأخذ وظيفة العرض المسماة Register الامتداد RegisterUserForm. سوف يجعله على register.html نموذج.
من django.shortcuts يستورد يجعل،
من django.http يستورد HttpResponse ، Http404
من .نماذج يستورد RegisterUserForm
مندجانغو.contrib.auth.عارضات ازياءيستوردمستخدم
defيسجل(طلب):
شكل = RegisterUserForm
السياق = {'استمارة':استمارة}
عودة تقديم (طلب ،'register.html'،سياق)
قم بإنشاء مسار URL
قم بإنشاء مسار URL ل register.html نموذج. عنوان URL هذا هو مسار وظيفة العرض التي أنشأتها للتو. أعطها الاسم يسجل، لذلك يمكنك استخدام الاسم لتسميته على قالب.
من django.urls يستورد طريق
من. يستورد الآراء
أنماط عنوان url = [
طريق ('يسجل'، views.register، name ='يسجل'),
]
تحميل على قالب
الآن بعد أن أصبح لديك طريقة العرض ومسار URL ، يمكنك إنشاء ملف register.html في مجلد التطبيق. ستستخدم أشكال django-crispy لتقديم ملف RegisterUserForm.
في ال register.html النموذج ، قم بتوسيع base.html. ال base.html يحتوي على روابط التمهيد ستستخدمها لتصميم نموذج التسجيل. ثم قم بتحميل نماذج django-crispy مع register.html باستخدام علامات القوالب.
يمتد {٪ 'base.html' %}
{٪ تحميل crispy_forms_tags٪}
{٪ حظر المحتوى٪}
<فئة div ="حاوية" النمط ="">
<فئة div ="صف">
<فئة div ="العمود- MD-2"></div>
<فئة div ="العمود- MD-8">
<فئة div ="بطاقة" النمط ="لون أسود؛">
<فئة div ="بطاقة الجسم">
<فئة h5 ="عنوان البطاقة"><أ>سجل لتكون عضوا</أ><نمط الامتداد ="تعويم: صحيح">هل أنت عضو؟ <أ href ="#" فئة ="نص أساسي">تسجيل الدخول الآن</أ></span></h5>
<فئة div ="بطاقة نصية">
<شكل العمل ="" طريقة ="بريد" نوفاليدات>
{٪ csrf_token٪}
{{شكل | مقرمش}}
<نوع الزر ="يُقدِّم" فئة ="btn- ابتدائي btn-sm"> يسجل</button>
</form>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
{٪ endblock٪}
يتضمن النموذج ملف csrf_tokenالذي يحمي عملية التسجيل من المتسللين. تقديم النموذج بنفس اسم المتغير الموجود في وظيفة العرض. ثم أضف |مقرمش تصفية إلى Django {{استمارة}} عامل. سيؤدي هذا إلى جعل النموذج في شكل مقرمش.
قم بتشغيل الخادم. بعد ذلك ، تحقق من التطبيق في متصفح على http://127.0.0.1:8000/register. يجب أن ترى النموذج معروضًا كما هو موضح أدناه:
لقد قدمت استمارة تسجيل باستخدام نماذج مقرمشة! لاحظ أن Django أضاف التحقق تلقائيًا إلى النموذج. يتضمن ذلك متطلبات مثل أذونات اسم المستخدم وكلمة المرور.
للحصول على نظام تسجيل كامل ، أضف منطق المصادقة إلى وظيفة العرض. يمكنك أيضًا إضافة صفحة تسجيل دخول لتسجيل دخول المستخدمين المسجلين. يجب على المستخدمين استيفاء متطلبات المصادقة لتسجيل الدخول إلى التطبيق.
تتيح لك مكتبة django-crispy-Forms عرض النماذج التي تم التحقق من صحتها بسرعة وسهولة. يضمن التحقق من صحة البيانات حصولك على بيانات دقيقة من المستخدمين.
تكون البيانات مفيدة عند التواصل مع المستخدمين وتحليل مقاييس الأداء.
لماذا نستخدم أشكال django-crispy؟
يعد استخدام مكتبة النماذج المقرمشة لتقديم النماذج في Django مثالًا رائعًا على كيفية تطبيق مبدأ DRY. تُنشئ نماذج django-crispy مكونات قابلة لإعادة الاستخدام يمكنك عرضها في القوالب.
أنها تأتي مع كود HTML مدمج. سيوفر لك الكود متاعب هيكلة النماذج والتحقق منها. توفر النماذج المقرمشة علامة وفلتر يعرض النماذج بتنسيق div. كما أنها توفر القدرة على تكوين والتحكم في HTML المعروض.
django-crispy-Forms تعمل بشكل جيد مع نظام توثيق Django. يمكنك إنشاء نظام مصادقة للتحقق من المستخدمين دون كتابة الكثير من التعليمات البرمجية.