जवाबों:
Jinja2 टेम्पलेट डिजाइनर प्रलेखन से :
{% if variable is defined %}
value of variable: {{ variable }}
{% else %}
variable is not defined
{% endif %}
{% if variable is not defined %}व्युत्क्रम का परीक्षण करने के लिए उपयोग कर सकते हैं ।
{% if variable is defined and variable %}शून्यता की भी जाँच करेंगे
{% if variable is defined %}चर है तो सच है None।
चूंकि not is Noneअनुमति नहीं है, इसका मतलब है कि
{% if variable != None %}
वास्तव में आपका एकमात्र विकल्प है।
variableहमेशा मूल्यांकन किया जाता है Trueजब कोई नहीं, {% if variable != None %}के बराबर है {% if variable %}।
Noneलोअरकेस का उपयोग करना चाहते हैंnone {% if variable is not none %}
आप इस तरह से एक jinja2 टेम्पलेट में एक चर को परिभाषित कर सकते हैं:
{% if step is not defined %}
{% set step = 1 %}
{% endif %}
और फिर आप इसे इस तरह से उपयोग कर सकते हैं:
{% if step == 1 %}
<div class="col-xs-3 bs-wizard-step active">
{% elif step > 1 %}
<div class="col-xs-3 bs-wizard-step complete">
{% else %}
<div class="col-xs-3 bs-wizard-step disabled">
{% endif %}
अन्यथा (यदि आप उपयोग नहीं करेंगे {% set step = 1 %}) ऊपरी कोड फेंक देंगे:
UndefinedError: 'step' is undefined
डिफ़ॉल्ट फ़िल्टर का उपयोग करने पर विचार करें यदि यह आपकी ज़रूरत है। उदाहरण के लिए:
{% set host = jabber.host | default(default.host) -%}
या अंत में "हार्डकोड" वाले एक से अधिक फ़ालबैक मानों का उपयोग करें:
{% set connectTimeout = config.stackowerflow.connect.timeout | default(config.stackowerflow.timeout) | default(config.timeout) | default(42) -%}