जवाबों:
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) -%}