نکات فریمورک Django در یک سال اخیر
قصد دارم در این تاپیک نکاتی در مورد فریمورک جنگو (Django Framework) که در یک سال اخیر با آنها مواجه شدم برای استفاده برنامه نویسان مبتدی (مثل خودم) ارائه کنم.
نکاتی که از اولین روز شروع کار با جنگو با آن مواجه شدم و بعضا چندین هفته برای حل آن وقت صرف کردم، امیدوارم که به درد کسی بخوره.
نقل قول: نکات فریمورک Django در یک سال اخیر
تاریخ: ۰۷/ ۱۱/ ۹۷
Django به صورت پیشفرض از استاندارد i18n و l10n پشتیبانی می کند.
i18n مخفف عبارت Internationalization است. یک i و ۱۸ حرف سپس یک n .خارجی ها هم آره.
l10n هم مخفف عبارت localization است.
نکته:
برای ترجمه ی متن در قالب های جنگو باید از
{% trans %}
استفاده کرد و متن باید بین " " باشد.
نقل قول: نکات فریمورک Django در یک سال اخیر
تاریخ: ۹۸/۰۴/۲۸
در صورتی که در فرم ها بخواهیم از FileField استفاده کنیم. باید خصوصیت ٰenctype="multipart/form-data" را به فرم اضافه کنیم به صورت زیر:
<form method="post" action="" enctype="multipart/form-data">
{% csrf_token %}
{{ form.as_p }}
<br />
<input type="submit" value="ارسال فایل"/>
</form>
اگر این خصوصیت را استفاده نکنیمُ خطا خالی بودن فیلد نمایش داده خواهد شد.
نقل قول: نکات فریمورک Django در یک سال اخیر
تاریخ ۸/ ۱۱/ ۹۷
عبارت هایی مثل
{% if %}
در جنگو template tag هستند. در جنگو می توانیم custom template tag بسازیم. تنها کافی است یک فولدر در app با نام templatetags ایجاد کنیم و custom tag های خود را در آن ایجاد کنیم.
نقل قول: نکات فریمورک Django در یک سال اخیر
self join در جنگو (recursive relationship) به صورت زیر در مدل تعریف می شود:
models.ForeignKey('self', null=True, related_name='RELATED_NAME')
نقل قول: نکات فریمورک Django در یک سال اخیر
در جننگو برای اینکه تاریخ و زمان سرور با سیستم کلاینت یکی باشد باید در فایل settings.py مقدار Time_Zone را تغییر دهیم.
برای نمونه در صورتی که بخواهیم از time zone تهران استفاده کنیم باید به صورت زیر عمل کنیم:
TIME_ZONE = 'Asia/Tehran'