में शब्दकोश विशेषताओं को संशोधित करना मान लीजिए कि मैं अपने jinja2 टेम्पलेट में एक शब्दकोश पास करता हूं।
ध्यान में रखते हुए मैं जैसेjinja2
d = {}
#set other template stuff into d
get_params['cri'] = 'time'
get_params['order'] = 'asc'
d['get_params'] = get_params
return d
कुछ मैं get_params की चाबियों का मूल्य बदलने की जरूरत है टेम्पलेट में है। तर्कसंगत बात
{% set get_params.cri='src' %}
एक त्रुटि के साथ विफल
TemplateSyntaxError: expected token '=', got '.'
मेरा प्रश्न कैसे मैं jinja2 में मानों एक शब्दकोश में पारित कर दिया संपादित कर सकता है
(यह सवाल here कहा गया है, लेकिन मैं उत्तर भ्रमित करने का पता लगाएं और यह केवल विलय करने वाले हिस्से का जवाब देता है)
उत्तर संपादित करें:
जिनजा 2 'डू' एक्सटेंशन प्रदान करता है। पिरामिड है कि एक्सटेंशन जोड़ने के लिए, विचार यह है कि आप jinja2 में कार्य प्रदर्शन नहीं कर सकते __init__.py
फ़ाइल
#This line is alreadythere
config.include('pyramid_jinja2')
#Add this line
config.add_jinja2_extension('jinja2.ext.do')
में निम्न कार्य टेम्पलेट
{% do get_params.update({'cri':'src'}) %}
मुझे अपडेट हिस्सा मिला (वास्तव में इसे {{}} टैग में कर रहा है लेकिन वह प्रिंट नहीं करता है)। मैं {% do%} ब्लॉक का उपयोग कैसे करूं? कोड की सराहना की जाएगी। विशेष रूप से पिरामिड – RedBaron
से जिन्जा 2 एक्सटेंशन कैसे सक्षम करें स्क्रैच करें ... इसे करने में कामयाब रहा – RedBaron