{% if bCat2 == True %}
<div>True</div>
{% else %}
<div>False</div>
Run Code Online (Sandbox Code Playgroud)
<div>False</div>即使bCat2是,也会返回True.谢谢,安德鲁
Evg*_*kov 37
这部分文档可以帮助您:
特殊常量true,false和none都是小写的.因为这在过去引起了混淆,当写入True扩展为一个被认为是假的未定义变量时,它们中的所有三个都可以用标题大小写(True,False和None).但是为了保持一致性(所有Jinja标识符都是小写),您应该使用小写版本.
资料来源:http://jinja.pocoo.org/docs/templates/
试试那段代码:
{% if bCat2 == true %}
<div>True</div>
{% else %}
<div>False</div>
{% endif %}
Run Code Online (Sandbox Code Playgroud)
And*_*oos 12
要在模板中测试布尔变量,请将其转换为Python中的字符串
str(bCat2)
Run Code Online (Sandbox Code Playgroud)
然后将其与模板中的字符串进行比较
{% if bCat2 == 'True' %}
<div>True</div>
{% else %}
<div>False</div>
Run Code Online (Sandbox Code Playgroud)
小智 9
在Jinja2中执行此操作的正确方法是:
{% if bCat2 is sameas true %}
<div>True</div>
{% elif bCat2 is sameas false %}
<div>False</div>
{% endif %}
Run Code Online (Sandbox Code Playgroud)
你不能做的原因
{% if bCat2 == true %}
Run Code Online (Sandbox Code Playgroud)
如果bCat2 == 1或bCat2 == 1.0,它也将被视为True.
像python一样解决这个问题.
{% if bCat2 %}
<div>True</div>
{% else %}
<div>False</div>
Run Code Online (Sandbox Code Playgroud)
{% if not bCat2 %}
<div>False</div>
{% else %}
<div>True</div>
Run Code Online (Sandbox Code Playgroud)
像jinja2一样解决.Becareful布尔小写.
{% if bCat2 is sameas true %}
<div>True</div>
{% endif %}
Run Code Online (Sandbox Code Playgroud)
{% if bCat2 is sameas false %}
<div>False</div>
{% endif %}
Run Code Online (Sandbox Code Playgroud)