नोट: यह फ्लास्क विशिष्ट है!
मुझे पता है कि यह पोस्ट काफी पुरानी है, लेकिन संदर्भ प्रोसेसर के उपयोग से फ्लास्क के नए संस्करणों में ऐसा करने के बेहतर तरीके हैं।
चर आसानी से बनाए जा सकते हैं:
@app.context_processor
def example():
return dict(myexample='This is an example')
ऊपर इस तरह के फ्लास्क के साथ एक Jinja2 टेम्पलेट में इस्तेमाल किया जा सकता है:
{{ myexample }}
(कौन सी सामग्री This is an example
)
साथ ही पूर्ण कार्य:
@app.context_processor
def utility_processor():
def format_price(amount, currency=u'€'):
return u'{0:.2f}{1}'.format(amount, currency)
return dict(format_price=format_price)
ऊपर जब इस्तेमाल किया जाता है:
{{ format_price(0.33) }}
(जो मुद्रा प्रतीक के साथ इनपुट मूल्य को आउटपुट करता है)
वैकल्पिक रूप से, आप जिंजा फिल्टर का उपयोग कर सकते हैं , फ्लास्क में बेक किया हुआ। जैसे डेकोरेटर्स का उपयोग करना:
@app.template_filter('reverse')
def reverse_filter(s):
return s[::-1]
या, डेकोरेटर के बिना, और मैन्युअल रूप से फ़ंक्शन को पंजीकृत करना:
def reverse_filter(s):
return s[::-1]
app.jinja_env.filters['reverse'] = reverse_filter
उपरोक्त दो विधियों के साथ लगाए गए फिल्टर का उपयोग इस तरह किया जा सकता है:
{% for x in mylist | reverse %}
{% endfor %}