मेरे पास कुछ HTML संरचनाएं हैं जिनका उपयोग कुछ अलग-अलग स्थानों में किया जाता है। यह एक समग्र टेम्पलेट से अलग है, इसलिए मैं इसे विस्तारित नहीं कर सकता, इसका उपयोग जटिल सामग्री को भी शामिल करने के लिए किया जा सकता है, इसलिए मुझे लगता है कि इसे टेम्पलेट टैग के रूप में परिभाषित करना अच्छा काम नहीं करता है। नीचे कुछ छद्म कोड टेम्पलेट_लेवल 2.html का उपयोग करते समय, मेरे वांछित परिणाम का वर्णन करते हुए, आप आसानी से इसके अंदर ब्लॉक को कॉल करके reusable_pattern_template में सामान डाल सकते हैं। यदि मैं इस कोड का उपयोग करता हूं, तो आप टेम्पलेट_लेवल_2.html की 'वास्तविक सामग्री' में जो भी लिखते हैं, वह दिखाई नहीं देगा। मुझे इसका कैसे सामना करना चाहिए?django: शामिल टेम्पलेट्स में ब्लॉक का उपयोग
base.html
<html>
<head></head>
<body>
{% block content %}{% endblock %}
</body>
</html>
template_level1.html
{% extends 'base.html' %}
{% block content %}
Something here...
{% include 'reusable_pattern_template.html' %}
Something else here...
{% endblock %}
reusable_pattern_template.html
<div>
<div>
<div>
{% block local_content %}{% endblock %}
</div>
</div>
</div>
template_level2.html
{% extends 'template_level1.html' %}
{% block local_content %}
Actual content here...
{% endblock %}
अद्यतन: क्षमा करें, template_level2.html में विस्तारित कुछ गलत वर्तनी है, मैंने इसे अभी ठीक किया है।
यह बहुत स्पष्ट नहीं हो सकता है, लेकिन ऊपर दिया गया कोड मेरे वांछित परिणाम का वर्णन करने वाले छद्म कोड से अधिक है। संक्षेप में,
- मैं अपने टेम्पलेट्स में पुन: प्रयोज्य HTML पैटर्न के छोटे टुकड़े शामिल करना चाहता हूं।
- ये पैटर्न बॉक्स की तरह हैं, आप इन्हें HTML सामग्री के पूरे टुकड़े डाल सकते हैं। तो संदर्भ चर के लिए बहुत सीमित हो सकता है मेरा उद्देश्य
ऐसा लगता है कि 'template_level2.html' कभी नहीं कहा जाता है। और यदि आप कोड के कुछ ब्लॉक शामिल करते हैं, तो आपको 'ब्लॉक' कथन का उपयोग करने की आवश्यकता नहीं है क्योंकि आप कब और क्या चाहते हैं –
हाय फास्टलोड! 'template_level2.html' टेम्पलेट का अंतिम स्तर है, इसलिए इसे कहीं भी शामिल/विस्तारित नहीं किया गया है। 'Template_level2.html' में '{% block%}' कथन को कॉल करके, मैं सामग्री को' reusable_pattern_template.html' में रखना चाहता था, जिसका उपयोग 'template_level2.html' –
में किया गया है प्रश्न: क्यों django-generic-flatblocks का उपयोग नहीं करते? यह एक शानदार ऐप है जो एक महान पैटर्न प्रदान करता है। – jpic