Yanıtlar:
Jinja2 şablon tasarımcısı belgelerinden :
{% if variable is defined %}
value of variable: {{ variable }}
{% else %}
variable is not defined
{% endif %}
{% if variable is not defined %}
tersi test etmek için de kullanabilirsiniz .
{% if variable is defined and variable %}
boşluk olup olmadığını da kontrol ederler
{% if variable is defined %}
Değişken ise true None
.
Yana not is None
, bu araçlar o izin verilmez
{% if variable != None %}
gerçekten tek seçeneğiniz.
variable
zaman True
Yok olarak değerlendirilirse {% if variable != None %}
, eşdeğerdir {% if variable %}
.
None
Küçük harf olup olmadığını kontrol etmek istiyorsanıznone
{% if variable is not none %}
Ayrıca jinja2 şablonunda şöyle bir değişken tanımlayabilirsiniz:
{% if step is not defined %}
{% set step = 1 %}
{% endif %}
Ve sonra şöyle kullanabilirsiniz:
{% 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 %}
Aksi takdirde (kullanmazsanız {% set step = 1 %}
) üst kod:
UndefinedError: 'step' is undefined
İhtiyacınız olan şeyse varsayılan filtreyi kullanmayı düşünün. Örneğin:
{% set host = jabber.host | default(default.host) -%}
ya da sonunda "hardcocode" ile daha fazla yedek değer kullanın:
{% set connectTimeout = config.stackowerflow.connect.timeout | default(config.stackowerflow.timeout) | default(config.timeout) | default(42) -%}
{% if variable is defined %}
bir şeyin tanımsız olup olmadığını kontrol etmek için çalışır.
{% if not var1 %}
Değişkenlerinizi False (Varsayılan) olarak varsayılan olarak kullanıyorsanız , kullanımdan kaçabilirsiniz.
class MainHandler(BaseHandler):
def get(self):
var1 = self.request.get('var1', False)