2013-05-21 16 views

risposta

28

Stai cercando il mapping test:

{% if {'a': 1, 'b': 2} is mapping %} 
    "Oh Yes!" 
{% else %} 
    "Oh No!" 
{% endif %} 

Jinja non è Python, però, quindi non si ha accesso a tutti i comandi incorporati (type e print non esistono, ad esempio, a meno che non li aggiunge a the context. In Flask, lo fai con lo context_processor decorator).

In realtà non è necessario il print. Per impostazione predefinita, viene prodotto tutto (a meno che non si sia in un modello figlio che è un genitore extends, nel qual caso è possibile eseguire interesting things like the NULL Master fallback perché vengono stampati solo i blocchi con i nomi disponibili nel modello principale).

5

Che ne dite:

{% if {'a':1,'b':2} is mapping %} 
    print "Oh Yes!!" 
{% else %} 
    print "Oh No!!!" 
{% endif %} 

vedere List of Builtin Tests per riferimento.

1

Nel caso in cui si desidera ottenere un tipo personalizzato è possibile accedere a nome del campo come in questo esempio:

{% if 'RelationField' in field.__class__.__name__ %} 
     <div class="col-md-1"> 
     Manage object 
     </div> 
    {% endif %}