为什么我的条件逻辑在 Jinja2/CherryPy 中没有按预期工作?
{% if bCat2 == True %}
<div>True</div>
{% else %}
<div>False</div>
即使 bCat2
为 True
,也会返回
False
。 谢谢, 安德鲁{% if bCat2 == True %}
<div>True</div>
{% else %}
<div>False</div>
Returns <div>False</div>
even when bCat2
is True
.
Thanks,
Andrew
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(6)
这部分文档可以帮助您:
来源: http://jinja.pocoo.org/docs/templates/
尝试该代码:
This part of documentation can help you:
Source: http://jinja.pocoo.org/docs/templates/
Try that code:
选项 1:最常见的解决方案
像 python 一样解决这个问题。
检查变量是否为 true
检查变量是否为 false
Jinja2 If 文档
选项 2: Jinja2 与解决方案相同
像 jinja2 一样解决。 小心使用布尔小写字母。
检查变量是否为 true
检查变量是否为 false
Jinja2 相同文档
Option 1: Most common solution
Solve that like python do.
Check if variable is true
Check if variable is false
Jinja2 If documentation
Option 2: Jinja2 sameas solution
Solve like jinja2 do. Becareful with boolean lowercase.
Check if variable is true
Check if variable is false
Jinja2 sameas documentation
在 Jinja2 中执行此操作的正确方法是:
不能执行此操作的原因
是,如果 bCat2 == 1 或 bCat2 == 1.0 它也将被视为 True。
The proper way to do this in Jinja2 is:
The reason why you cannot do
is that if bCat2 == 1 or bCat2 == 1.0 it will also be considered True.
要测试模板中的布尔变量,请在 Python 中将其转换为字符串
,然后将其与模板中的字符串进行比较
To test a Boolean variable in a template, convert it to a string in Python
and then compared it to a string in the template
我想补充一点,如果您的逻辑有点复杂,您可能需要阅读有关范围的内容。
正如官方文档中提到的:
I would like to add that if your logic is a bit more complex you might want to read about scopes.
As mentioned in official documentation:
采取这个:
我的测试:
take this:
my test: