2013-05-21 13 views

Odpowiedz

28

Szukasz na mapping test:

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

Jinja nie jest Python choć, więc nie masz dostępu do wszystkich poleceń wbudowanych (type i print nie istnieją, na przykład, o ile je dodać do the context. W Flask, robisz to z context_processor decorator).

W rzeczywistości nie potrzebujesz wcale print. Domyślnie wszystko jest wyprowadzane (chyba że jesteś w szablonie podrzędnym, który jest extends rodzicem, w takim przypadku możesz zrobić interesting things like the NULL Master fallback, ponieważ wyprowadzane są tylko bloki z nazwami dostępnymi w szablonie głównym).

5

Co powiecie na:

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

patrz nr referencyjny List of Builtin Tests.

1

W przypadku, gdy chcesz uzyskać typ niestandardowy można uzyskać dostęp do nazwy pola jak w poniższym przykładzie:

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