# زبان های اسکریپتی > Python >  نکات فریمورک Django در یک سال اخیر

## miladhzz

قصد دارم در این تاپیک نکاتی در مورد فریمورک جنگو (Django Framework) که در یک سال اخیر با آنها مواجه شدم برای استفاده برنامه نویسان مبتدی (مثل خودم) ارائه کنم.
نکاتی که از اولین روز شروع کار با جنگو با آن مواجه شدم و بعضا چندین هفته برای حل آن وقت صرف کردم، امیدوارم که به درد کسی بخوره.

----------


## miladhzz

تاریخ: ۰۷/ ۱۱/ ۹۷
Django  به صورت پیشفرض از استاندارد i18n و l10n پشتیبانی می کند. 
i18n مخفف عبارت Internationalization است. یک i و ۱۸ حرف سپس یک n  .خارجی ها هم آره.
l10n هم مخفف عبارت localization است. 
نکته:
برای ترجمه ی متن در قالب های جنگو باید از 

{% trans %}

استفاده کرد و متن باید بین " " باشد.

----------


## miladhzz

تاریخ: ۹۸/۰۴/۲۸
در صورتی که در فرم ها بخواهیم از FileField استفاده کنیم. باید خصوصیت ٰenctype="multipart/form-data" را به فرم اضافه کنیم به صورت زیر:


<form method="post" action=""  enctype="multipart/form-data">
                            {% csrf_token %}
                            {{ form.as_p }}
                            <br />
                            <input type="submit" value="ارسال فایل"/>
                        </form>

اگر این خصوصیت را استفاده نکنیمُ خطا خالی بودن فیلد نمایش داده خواهد شد.

----------


## miladhzz

تاریخ ۸/ ۱۱/ ۹۷ 
عبارت هایی مثل 
{% if %}
در جنگو template tag هستند. در جنگو می توانیم custom template tag بسازیم. تنها کافی است یک فولدر در app با نام templatetags ایجاد کنیم و custom tag های خود را در آن ایجاد کنیم.

----------


## miladhzz

self join در جنگو (recursive relationship) به صورت زیر در مدل تعریف می شود:

models.ForeignKey('self', null=True, related_name='RELATED_NAME')

----------


## miladhzz

در جننگو برای اینکه تاریخ و زمان سرور با سیستم کلاینت یکی باشد باید در فایل settings.py مقدار Time_Zone  را تغییر دهیم. 
برای نمونه در صورتی که بخواهیم از time zone تهران استفاده کنیم باید به صورت زیر عمل کنیم:
 
TIME_ZONE = 'Asia/Tehran'

----------

