我是Jinja2的新手,并将其作为Flask的一部分使用。我在下面有两个陈述。那个“在”的人工作。 “等于”的那个不是。等于版本的语法错误如下所示。我很好奇为什么,就像平等版本写的方式,至少对我来说,更容易阅读。
{% if "SN" in P01["type"] %}
{% include 'sn.html' %}
{% endif %}
{% if P01["type"] equals "SN" %}
{% include 'sn.html' %}
{% endif %}
来自jinja2.exceptions.TemplateSyntaxError
的错误消息TemplateSyntaxError:期望令牌'语句块结束',得到'等于'
谢谢。
答案 0 :(得分:27)
在Jinja2中,您可以使用==
代替equals
,例如:
{% if P01["type"] == "SN" %}
{% include 'sn.html' %}
{% endif %}
http://jinja.pocoo.org/docs/switching/#conditions
我很确定这就是你要找的东西,但是你应该注意到它与"SN" in P01["type"]
有不同的含义,使用in
是一个子串测试,所以例如{{1将是真的。