वर्तमान में मेरे पास मेरे base.html में मेरे पृष्ठ शीर्षकों के लिए एक ब्लॉक सेटअप है। यह प्रत्येक टेम्पलेट पृष्ठ से एक अद्वितीय मूल्य लेता है, और अंत में वेबसाइट का नाम जोड़ता है। उदाहरण के लिए: ABOUT US - My Site Name। "हमारे बारे में" टेम्पलेट द्वारा पारित किया जाता है और "- मेरी साइट का नाम" हर पृष्ठ पर दिखाई देता है।

हालांकि, मैं अपने अनुक्रमणिका पृष्ठ पर उसी base.html का उपयोग करना चाहता हूं, लेकिन केवल "मेरी साइट का नाम" दिखाता हूं। मैं एक अद्वितीय मूल्य की तलाश के लिए प्रत्येक टेम्पलेट पास ब्लॉक को पार्स करके एक कथन का उपयोग करने की उम्मीद कर रहा था, यह दर्शाता है कि मैं इंडेक्स पेज पर हूं।

अब तक मेरा कोड इस तरह दिखता है:

<title>
    {% if {% block title %}{% endblock %} == "index_pg" %}
        My Site Name
    {% else %}
        {% block title %}{% endblock %} - My Site Name
    {% endif %}
</title>

जाहिर है यह काम नहीं करता। किसी को भी विचार है कि मैं इसे कैसे पूरा कर सकता हूं? धन्यवाद।

1
ng150716 3 अक्टूबर 2018, 21:25

1 उत्तर

सबसे बढ़िया उत्तर

आम तौर पर मैं दो ब्लॉक का उपयोग करता हूं, एक दूसरे के चारों ओर लपेटा जाता है, ऐसा कुछ:

# base.html template
<title>
  {% block title %}
    {% block inner_title %}{% endblock inner_title %} - The Stock Column
  {% endblock title %}
</title>

इसलिए अपने अधिकांश पृष्ठों के लिए, आप base.html का विस्तार करेंगे, और यह करेंगे:

{% block inner_title %}Page XYZ{% endblock inner_title %}

और फिर अपने अनुक्रमणिका पृष्ठ पर, आप base.html का विस्तार भी करेंगे, लेकिन फिर आप ऐसा करेंगे:

{% block title %}TEST{% endblock title %}

पहले वाले से परिणामी आउटपुट होगा:

<title>Page XYZ - The Stock Column</title>

और आपके इंडेक्स पेज से दूसरे का आउटपुट होगा:

<title>TEST</title>
1
YellowShark 3 अक्टूबर 2018, 21:39