اذهب إلى المحتوى
  • 0

كيفية إستدعاء ملفات قوالب Templates من تطبيقات مختلفة في مشروع جانغو Django؟

Mohssen A Mohssen

السؤال

لدي مشروع جانغو Django. وأريد في أن تحتوي جميع ملفات القوالب في كل التطبيقات Apps المختلفة على نفس Header و Footer. هنا شكل الملفات التي لدي:

myproject
   |_ base
       |_ templates|
           |_ header.html
           |_ footer.html
    app1
       |_ templates
           |_ home.html

كيف أقوم بإستدعاء الملفين header.html و footer.html من داخل الملف home.html في جانغو Django؟

رابط هذا التعليق
شارك على الشبكات الإجتماعية

Recommended Posts

  • 1

من الأفضل عدم إستدعاء الهيدر والفوتر فرديًا بهذه الطريقة أو عمل include

الأفضل هو إستعمال extends في التعامل مع القوالب ، أولًا ستقوم بعمل ملف إسمه

base.html

داخل هذا الملف ستقوم بوضع الهيدر والفوتر والجزئية المتغيرة للصفحة أو الـ content بمعنى أصح.

{% include "templates/header.html" %}

{% block content %}
{% endblock %}

{% include "templates/footer.html" %}

الآن يمكنك في صفحة الـ home ببساطة وضع الكود التالي وبدء إنشاء محتويات الصفحة بدون الحاجة لعمل include كل مرة للهيدر والفوتر.

{% extends 'base.html' %}

{% block content %}
<p>محتوى الصفحة هنا</p>
{% endblock %}

تستخدم هذه الطريقة لجعل التحكم أكثر مرونة في المحتوى ومنفصل ومُقسم بشكل أفضل ، مثلًا لو احتجت لإضافة شيء أسفل الهيدر ستحتاج لتغييرها في كل الصفحات إذا إستعملت include لكل الصفحات ، لكن بهذه الطريقة يكفيك التعديل على الـ base.html.

تم التعديل في بواسطة Ahmed.Sayed
رابط هذا التعليق
شارك على الشبكات الإجتماعية

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...