2015-07-16 11 views
11

के साथ प्रत्येक पृष्ठ पर Django पाद लेख और शीर्षलेख इसलिए मैं अपनी वेबसाइट के प्रत्येक पृष्ठ पर पाद लेख और शीर्षलेख जोड़ने की कोशिश कर रहा हूं। मैंने base.html फ़ाइल बनाई है जिसमें साइट का सामान्य लेआउट शामिल है।{% विस्तारित}

मेरी about.html पृष्ठ में, मैंने किया:

{% extends "public/base.html" %} 

<h1>Content goes here</h1> 

मैं अपने शीर्ष लेख और पाद देख सकते हैं, लेकिन मैं कैसे सामग्री को प्रदर्शित करते हैं। मैं उस about.html पृष्ठ में सामान टाइप करना चाहता हूं। सामग्री यहां मध्य में प्रदर्शित नहीं की जा रही है।

उत्तर

17

आपको base.html में एक ब्लॉक को परिभाषित करने और इसे लगभग.html में पॉप्युलेट करने की आवश्यकता है।

base.html:

<header>...</header> 
{% block content %}{% endblock %} 
<footer>...</footer> 

about.html

{% extends "public/base.html" %} 

{% block content %} 
<h1>Content goes here</h1> 
{% endblock %} 

यह सब पूरी तरह से ट्यूटोरियल में समझाया गया है।

+0

धन्यवाद! मैंने ब्लॉक सामग्री और एंडब्लॉक जोड़ा और यह काम किया! – encrypt

+0

क्विक प्रश्न। तो क्या होगा यदि मैं सीएसएस के साथ पाठ और लेआउट संपादित करना चाहता था, तो क्या मैं उस पृष्ठ के लिए एक अलग सीएसएस फ़ाइल बनाउंगा और मैं इसे कैसे बढ़ाऊंगा? उसी तरह? – encrypt

+0

तो सीएसएस को एक स्थिर फ़ाइल माना जाता है, इसलिए आप इसका उपयोग करेंगे: '{% लोड staticfiles%}'। यहां और अधिक जानकारी: https://docs.djangoproject.com/en/1.8/howto/static-files/ इसके अलावा, अगर उत्तर है तो उत्तर को सही के रूप में चिह्नित करें। – wkcamp

4
{% extends "public/base.html" %} 
{% block content %} 
<h1>Content goes here</h1> 
{% endblock %} 

या बस about.html बनाएं और इसे शामिल करें जहां आप अपने मुख्य HTML में चाहते हैं।

उदाहरण:

{% extends "base.html" %} 
{% block content %} 
    <!-- Content here --> 
{% endblock %} 

कुछ भी अंदर रखा:

<html> 
    <body> 
     <!-- header code --> 
     {% block content %} 
     {% endblock %} 
     <!-- footer code --> 
    </body> 
<html> 

फिर अपने अन्य फाइल में आप यह कर जाएगा:

{% extends "public/base.html" %} 
    {% block content %} 
     "Your code" 
    {% include "core/about.html" %} 
    {% endblock %} 
1

मान लें कि आपका base.html इस तरह दिखता है चलो टेम्पलेट की (विस्तारित फ़ाइल) बॉडी टैग को बाल फ़ाइल की सामग्री में सामान द्वारा ओवरराइट किया जाएगा, लेकिन कोई भी उस टैग के बाहर एनजी बढ़ाया जाएगा, या इसमें कॉपी किया जाएगा।

यहाँ the docs on the block tag

+1

ब्लॉक नाम माता-पिता और विस्तारित टेम्पलेट्स में होना चाहिए। इस मामले में, दूसरी फ़ाइल में, ब्लॉक '{% ब्लॉक सामग्री%}' से शुरू होना चाहिए, न कि '{% ब्लॉक बॉडी%}'। –

+0

ठीक है आप हैं। संपादित। –

संबंधित मुद्दे