2011-12-08 16 views

Respuesta

10

Para probar una variable booleana en una plantilla, la convierten en una cadena en Python

str(bCat2) 

y luego se compararon con una cadena en la plantilla

{% if bCat2 == 'True' %} 
    <div>True</div> 
{% else %} 
    <div>False</div> 
20

Este parte de la documentación puede ayudarlo:

Las constantes especiales verdadero, f alse y ninguno son de hecho minúsculas. Debido a que esto causó confusión en el pasado, cuando se escribe True expande a una variable indefinida que se considera falsa, los tres se pueden escribir también en el título (Verdadero, Falso y Ninguno). Sin embargo, para la consistencia de (todos los identificadores de Jinja son minúsculas) debe usar las versiones en minúsculas .

Fuente: http://jinja.pocoo.org/docs/templates/

probar ese código:

{% if bCat2 == true %} 
<div>True</div> 
{% else %} 
<div>False</div> 
{% endif %} 
+0

Esta debe ser la respuesta correcta. Iterar sobre una lista grande y cambiar cada bool a cadena según la respuesta aceptada puede ser costoso si la lista es grande y queremos enviar la lista grande a la plantilla. –

Cuestiones relacionadas