प्रस्तुत करने के लिए कितने स्तर और पृष्ठ को प्रस्तुत करना चाहते हैं, मैं django टेम्पलेट स्तर बनाने में कुछ सलाह लेना चाहता हूं।डीजेगो टेम्पलेट विरासत:
दस्तावेज़ों को पढ़ना, मुझे समझ में नहीं आता कि 2 से अधिक स्तरों के साथ टेम्पलेट पदानुक्रम संरचना कैसे बनाएं।
उदाहरण के लिए, मैं 3 विरासत के स्तर को बनाने के लिए करना चाहते हैं:
base.html
First level {% block level2 %}{% endblock %}
base_level2.html:
base.html └── base_level2.html ├── level2_level3_1.html └── level2_level3_2.html
यह मेरा कोड है
{% extends "base.html" %} {% block level2 %} Second level {% block level3_1 %}{% endblock %} {% block level3_2 %}{% endblock %} {% endblock %}
level2_level3_1.html
{% extends "base_level2.html" %} {% block level3_1 %} Third level, part 1 {% endblock %}
level2_level3_2.html
{% extends "base_level2.html" %} {% block level3_2 %} Third level, part 2 {% endblock %}
views.py:
def myView(request): return render_to_response('level2_level3_1.html', {}, context_instance=RequestContext(request))
इस तरह से मैं पर निम्नलिखित देख सकते हैं में मेरा ब्राउज़र:
First level
Second level
Third level, part 1
और यह मेरे लिए तार्किक है, क्योंकि मैं केवल level2_level3_1.html पर render_to response
कहते हैं।
बेशक, अगर कॉल स्तर 2_level3_2.html, मुझे Third level, part 2
संदेश मिलता है लेकिन Third level, part1
नहीं है।
इसे कैसे हल करें? क्या यह एक अच्छा दृष्टिकोण है? मैंने इस तरह से सामग्री तैयार की है क्योंकि मेरे असली टेम्पलेट्स बहुत बड़े हैं, कोड की बहुत सारी लाइनें हैं, इसलिए मैं कुछ ऑर्डर रखना चाहता हूं। किसी भी सलाह की सराहना की जाएगी।
समस्या क्या है? क्या आप 'तीसरा स्तर, भाग 1' और' तीसरा स्तर, भाग 2' रखना चाहते हैं। आप एक ही पृष्ठ में दोनों भाग क्यों नहीं डाल सकते? वे दो अलग-अलग ब्लॉक से संबंधित हैं। – EsseTi
जैसा कि मैंने उपरोक्त कहा है "मैंने इस तरह से सामग्री तैयार की है क्योंकि मेरे असली टेम्पलेट बहुत बड़े हैं ..."। यह एक न्यूनतम उदाहरण है लेकिन मेरा स्तर 2_level3_1.html और level2_level3_2.html वास्तविकता में बहुत लंबा है और मैं उन्हें एक बड़ी एकल फ़ाइल में विलय नहीं करना चाहता हूं। – caneta