आपके पास दो विकल्प हैं - पहला तरीका यह है कि आपने इसे किया - बस एक टेम्पलेट में उचित मार्कअप जोड़ें (या एक ब्लॉक यदि आप इसे टेम्पलेट्स में ओवरराइड करने में सक्षम होना चाहते हैं जो आपका पहला टेम्पलेट बढ़ाता है ।)
दूसरा तरीका Jinja2 के include
समारोह का उपयोग करने के लिए है:
{% block javascript %}
<script type="text/javascript">
{% include "myscript.js" %}
</script>
<!-- The contents of myscript.js will be loaded inside the script tag -->
{% endblock %}
include
का उपयोग करने का लाभ यह है कि Jinja2 यह शामिल करने से पहले अपने जावास्क्रिप्ट पर कार्रवाई करेंगे है - जिसका अर्थ है आप अपने जावास्क्रिप्ट में चर हो सकता है अपने कार्यक्रम की स्थिति के आधार पर बदलें।
इस तरह से include
का उपयोग करने का नुकसान ही है - अपने .js
फ़ाइल बाहर भेजे जाने से पहले Jinja2 के माध्यम से चलाया जाएगा - आप गतिशील सामग्री तुम सिर्फ हर अनुरोध के लिए फ़ाइल को संसाधित किया जाएगा अनावश्यक रूप से उपयोग नहीं कर रहे हैं - - और यदि आप Jinja2 वाक्यविन्यास के साथ एक जावास्क्रिप्ट टेम्पलेटिंग लाइब्रेरी का उपयोग कर रहे हैं तो समस्या की संभावना है।
स्रोत
2010-08-10 02:27:40
तो यह मूल रूप से उन टैग्स के बीच फ़ाइल myscript.js के अंदर सब कुछ शामिल करेगा, मैं सही हूँ? किसी भी कारण से मैं टेक्स्ट फ़ाइल या कुछ और शामिल करने के लिए इसका उपयोग नहीं कर सका? – kirbuchi
@kirbuchi - हाँ, बिल्कुल। वही व्यापार-बंद लागू होते हैं। –
अच्छा! बहुत बहुत धन्यवाद – kirbuchi