اینجوری:
polls/templates/polls/index.html
(یعنی یک بار اسم اپ، و دوباره داخل تمپلیت هم همون اسم!)
مشکل چیه؟
فرض کن دو تا اپ داری: polls و blog. هر دو هم یه فایل index.html دارن. جنگو برای پیدا کردن تمپلیت، میره توی همه پوشهها میگرده و اولین فایلی که اسمش match کنه رو برمیداره!
یعنی ممکنه کد اپ polls رو اجرا کنی ولی صفحهی blog به کاربر نشون داده بشه! 🤦♂️
✅ راهحل چیه؟ (Namespacing)
باید برای تمپلیتها «فضای نام» (Namespace) درست کنیم. یعنی فایلها رو داخل یک زیرپوشهی همنام با اپ بذاریم:
📁 polls/templates/polls/index.html
📁 blog/templates/blog/index.html
💡 نتیجه:
الان توی views.py وقتی مینویسی
render(request, "polls/index.html")،
جنگو دقیقاً میدونه باید کدوم فایل رو باز کنه و دیگه هیچ تداخلی پیش نمیاد.
پس یادت باشه: همیشه تمپلیتها رو داخل پوشهی همنام اپ قرار بده!
#جنگو
@MPL_Code