मैं django sekizai ऐप को लागू करने की कोशिश कर रहा हूं। यह जेएस फाइलों को डुप्लिकेट कर रहा है जो मैं जोड़ रहा हूं।django sekizai {% addtoblock%} टैग ठीक से काम नहीं कर रहा है
आधार टेम्पलेट:
{% load sekizai_tags %}
<div id="a1" >
{% addtoblock "my_js" %}
<script type="text/javascript" src="{{ MEDIA_URL }}js/my_js.js"></script>
{% endaddtoblock %}
</div>
{% addtoblock "my_js" %}
<script type="text/javascript" src="{{ MEDIA_URL }}js/my_js.js"></script>
{% endaddtoblock %}
अब यहाँ प्रदान की गई टेम्पलेट twice.But प्रदान की गई है जब मैं div यह wasn के भीतर एक ही स्क्रिप्ट जोड़ने की कोशिश की: यह है कि इस आधार उपयोग कर रहा है
{% load sekizai_tags %}
...
{% render_block "my_js" %}
टेम्पलेट डुप्लिकेट नहीं किया गया। अगर कोई इस पर कुछ प्रकाश डाल सकता है तो सराहना करेंगे!
जब भी मैं टेम्पलेट टैग द्वारा प्रस्तुत टेम्पलेट में {% addtoblock%} का उपयोग करने का प्रयास करता हूं, तो स्क्रिप्ट गायब हो जाती है (यह न तो शामिल है और न ही यह उस टेम्पलेट में रहता है)।
नोट: टेम्पलेट टैग, render_block
और addtoblock
, django-sekizai पैकेज से हैं।
अच्छी तरह से मैं अपने स्क्रिप्ट के दोहराव के पीछे कारण मिल सकता है जिसमें अंतर नहीं है div के अंदर और बाहर लिपि का इंडेंटेशन। {% addtoblock%} टैग स्पष्ट रूप से सफेद-रिक्त स्थान को नहीं हटाता है। तो मेरा पहला सवाल का हल नीचे के रूप में एक मूर्खतापूर्ण एक है: {% लोड sekizai_tags%}
कस्टम टेम्पलेट टैग के टेम्पलेट में भी स्क्रिप्ट गायब हो रही थीं। [Django-sekizai-docs] के अनुसार (https://github.com/ojii/django-sekizai/blob/master/docs/restrictions.rst) SekizaiContext या RequestContext और sekizai संदर्भ प्रोसेसर का उपयोग करना अनिवार्य है लेकिन मैं यदि आप अपने टेम्पलेट के संदर्भ को आकार देना चाहते हैं तो एक वर्कअराउंड मिला (cont = {}) इस cont ['SEKIZAI_CONTENT_HOLDER'] = संदर्भ ['SEKIZAI_CONTENT_HOLDER'] का उपयोग करें। इस कामकाज के साथ आपको RequestContext का उपयोग करने की आवश्यकता नहीं है और केवल sekezai संदर्भ प्रोसेसर पर्याप्त होगा। –