ساخت تگِ دلخواه برای قالب (Custom Template Tags)

جنگو

سلام

داخل فولدر برنامۀ boards یک فولدر با نام templatetags و درون آن دو فایل خالی با نام‌های init__.py__ و form_tags.py ایجاد می کنیم.

می خواهیم دو عدد تگِ قالب درون فایل form_tags.py ایجاد کنیم.

boards/templatetags/form_tags.py

(اگر معتبر بود و پسورد نبود کلاس css را مطابق با ‘is-valid’ قرار می دهد.)

در قطعه کد بالا از فیلترهای قالب استفاده شده است. عملکرد آن ها به این شکل است:

اول از همه آن ها را درون قالب بارگذاری می کنیم. دقیقا مشابه همان کاری که در خصوص تگ‌های قالب widget_tweaks و static  انجام دادیم. دقت کنید که بعد از ساخت این فایل باید سرور جنگو را متوقف کرده و دوباره آن را راه اندازی کنید تا جنگو تگ‌های جدید را شناسایی کند.

سپس بعد از این کار می توانیم از این ها در قالب استفاده کنیم.

که عبارت ‘TextInput’ را باز خواهد گرداند.

یا در مورد input_classها:

حالا باید قالب form.html را برای استفاده از تگ‌های‌ جدید قالب بروز کنیم.

templates/includes/form.html

بهتر نشد؟ قالب ما ساده تر شد و همچنین مشکلی که با فیلد پسورد داشتیم هم حل و برطرف شد و دیگر کادر سبز را نمایش نمی دهد.

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

 

مطلب بعدی: تست تگ های قالب

مطلب قبلی: خطاهای فیلدهای خالی در ورودی کاربر

 

بدون دیدگاه

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

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

جنگو
پیکربندی گواهینامۀ https

سلام حالا می خواهیم برنامۀ خودمان را با گواهینامۀ https امن کنیم. ساده ترین کار برای انجام آن Let’s Encrypt است. قبل از Let’s Encrypt هرگز تنظیمات https به این راحتی نبوده و مهمتر اینکه اینکار کاملاً رایگان است. آن ها راه حلی به نام certbot را ارائه داده اند …

جنگو
پیکربندی سرویس ایمیل

سلام یکی از بهتر سرویس دهنده های ایمیل Mailgun با قابلیت ۱۲ هزار ایمیل رایگان در ماه است. به صورت رایگان ثبت نام کنید. برای اینکار باید آن را با سرویس دهندۀ دامین خود تنظیم کنید که در این آموزش از tamadon.org استفاده شده است. حالا اولین رکورد DNS را …

جنگو
پیکربندی NGINX

سلام کار بعدی که قرار است انجام شود؛ تنظیمان Nginx به شکلی است که پاسخگویی و سرویس دهی مربوط به فایل های استاتیک را خود انجام دهد و سایر درخواست ها را به Gunicorn بفرستد. یک فایل پیکربندی با نام boards را درون /etc/nginx/sites-available/ و با محتوای زیر اضافه می …

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