قالب‌های فرم با قابلیت استفادۀ مجدد یا Reusable Forms Templates

سلام

اگر از مبحث قبلی به یاد داشته باشیم، منظور از این عنوان خلاصه سازی فرم ها و عدم تکرار یک سری کد در فایل های مختلف است. یعنی یک بار موارد ثابت را طراحی می کنیم و در فایل های جدید با اضافه‌کردن قسمت‌های قبلی و نوشتن قسمت‌های جدید به نتیجه‌ای که می‌خواهیم می‌رسیم.

خیلی خوب! در فولدر مربوط به تمپلیت یک فولدر جدید به نام includes می‌سازیم.

درون آن، یک فایل به نام html ایجاد می کنیم.

templates/includes/form.html

حالا فایل قبلی با نام html را ویرایش می کنیم.

templates/new_topic.html

همانطور که از نام آن مشخص است؛ آمده ایم و کدهای HTML مربوط به فرم را درون فایل قبلی include کرده‌ایم.

این یک روش مرسوم بوده و به راحتی می توانیم از فایل های HTML مختلف درون یکدیگر استفاده کنیم.

  1. مثل همیشه نوبت به نوشتن تست می رسد:

boards/tests.py

در کد بالا برای اولین بار از تگ assertIsInstance  استفاده کرده ایم. با این کار یک ثابت فرم را در نظر گرفته و چک کرده ایم که یک NewTopicForm باشد. ضمناً در بخش آخر هم با استفاده از دستور   self.assertTrue(form.errors) مطمئن می شویم که فرمِ ما، در صورت نامعتبر بودن دیتا، خطاهای مربوطه را نشان دهد.

ترجمۀ اختصاصی توسط تمدن

 

مطلب بعدی:شمای کلی از اعتبارسنجی برنامه در جنگو

مطلب قبلی: زیباسازی فرم ها با Bootstrap

بدون دیدگاه

پاسخی بگذارید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

جنگو
ثبت نام یا Sign Up

سلام به عنوان اولین گام باید یک Url برای صفحۀ ثبت نام تعریف کنیم. myproject/urls.py from django.conf.urls import url from django.contrib import admin from accounts import views as accounts_views from boards import views urlpatterns = [ url(r’^$’, views.home, name=’home’), url(r’^signup/$’, accounts_views.signup, name=’signup’), url(r’^boards/(?P<pk>\d+)/$’, views.board_topics, name=’board_topics’), url(r’^boards/(?P<pk>\d+)/new/$’, views.new_topic, name=’new_topic’), url(r’^admin/’, admin.site.urls), …

جنگو
تنظیمات اولیه

سلام برای تمام این کارها لازم است تا برنامۀ جدیدی را ایجاد کنیم. برای انجام این کار وارد فولدری می شویم که فایل py قرار دارد و دستور زیر را وارد می کنیم: django-admin startapp accounts ساختار پروژه‌ بعد از این دستور به شکل زیر می شود. myproject/ |– myproject/ …

جنگو
شمای کلی از اعتبارسنجی برنامه در جنگو

سلام در این فصل قصد داریم به مباحث اعتبارسنجی مثل ثبت نام، ورود به سیستم، خروج از سیستم، بازیابی پسورد و تغییر پسورد بپردازیم. همینطور چگونگی تعیین سطح دسترسی برای کاربران سایت از سایر افراد مطرح می شود. تا به این لحظه یک پروژه به نام Libogram تعریف کردیم که …

هرگونه استفادۀ از این آموزش به صورت رایگان و با ارجاع به تمدن جایز است.