Jinja2 if 语句在 vs 上等于 dict
·
问题:Jinja2 if 语句在 vs 上等于 dict
我是 Jinja2 的新手,并将其用作 Flask 的一部分。我在下面有两个陈述。带有“in”的作品。带有“等于”的那个不是。 equals 版本出现如下所示的语法错误。我很好奇为什么 equals 版本的编写方式至少对我来说更容易阅读。
{% if "SN" in P01["type"] %}
{% include 'sn.html' %}
{% endif %}
{% if P01["type"] equals "SN" %}
{% include 'sn.html' %}
{% endif %}
来自 jinja2.exceptions.TemplateSyntaxError 的错误消息
TemplateSyntaxError:预期标记“语句块结束”,得到“等于”
谢谢你。
解答
在 Jinja2 中,您将使用==而不是equals,例如:
{% if P01["type"] == "SN" %}
{% include 'sn.html' %}
{% endif %}
http://jinja.pocoo.org/docs/switching/#conditions
我很确定这就是您要查找的内容,但是您应该注意,这与"SN" in P01["type"]具有不同的含义,使用in是子字符串测试,因此例如"foo" in "foobar"将为 True。
更多推荐

所有评论(0)