السلام عليكم
اثناء رحلتنا في التعلم تعترضنا جميعا بعض المشاكل و احيانا تكون اقرب الى تساؤل منها الى مشكلة
و عندما وجدت الجواب اردت مشاركته معكم
عند اضافة مجلد ال templates الى مشروع دجانغو توجد طريقتان :
الطريقة الأولى و تسمى App-level
كما تلاحظون المشروع اسمه portfolio و في داخله لدينا app اسمها jobs
حسب الطريقة الاولى فاننا نقوم باضافة مجلد templates داخل ال jobs يحتوي بدوره على مجلد اخر يحمل نفس الاسم كما هو مبين اعلاه
ثم نقوم باضافة كل الtemplates الخاصة بنا هناك
هذه الطريقة تصلح لعدم الخلط بين الtemplates خاصة اذا كان لدينا اكثر من app في مشروعنا ( حسنا هذا ما فهمته انا ) فكلما اصبح المشروع اكبر زادت احتمالية التداخل
اما الطريقة الثانية فتسمى
Project-level
اي ان مجلد ال templates سيكون مباشرة تحت المجلد الاساسي للمشروع و يتم داخله ادراج كل الtemplates الخاصة بكل ال apps في هذا المجلد دون تحديد اسم ال app
لكن هذه الطريقة تحتاج لتغيير بسيط او دعنا نقول اضافة بسيطة في ملف settings.py ( نعم ذاك الملف الذي لا تفكر ان تعبث به دون ان تعرف ما تفعل هذا ما تعلمته )
كما لاحطتم فقد قمت باضافة هذا السطر
os.path.join(BASE_DIR, ‘templates’)
الذي يسمح لل templates loader في البحث على مستوى المشروع عن مجلد اسمه templates .
هذه الطريقة تستعمل عموما (او الافضل استعمالها ) عندما يكون المشروع متكونا من app واحدة
بينما الطريقة الاخرى للمشاريع الضخمة
عن نفسي لم اتعرف على الطرقتين الا اليوم
مذا عنكم ؟ ايهما تفضلون ؟ و هل هناك اي اضافة او معلومة ربما لم استطع ايصالها