Tim*_*ter 15 python if-statement jinja2
我是Jinja2的新手,并将其作为Flask的一部分使用.我在下面有两个陈述.那个"在"的人工作."等于"的那个不是.等于版本的语法错误如下所示.我很好奇为什么,就像平等版本的编写方式,至少对我来说,更容易阅读.
{% if "SN" in P01["type"] %}
{% include 'sn.html' %}
{% endif %}
{% if P01["type"] equals "SN" %}
{% include 'sn.html' %}
{% endif %}
Run Code Online (Sandbox Code Playgroud)
来自jinja2.exceptions.TemplateSyntaxError的错误消息
TemplateSyntaxError:期望令牌'语句块结束',得到'等于'
谢谢.
And*_*ark 31
在Jinja2中,您将使用==而不是equals,例如:
{% if P01["type"] == "SN" %}
{% include 'sn.html' %}
{% endif %}
Run Code Online (Sandbox Code Playgroud)
http://jinja.pocoo.org/docs/switching/#conditions
我很确定这是你正在寻找的东西,但是你应该注意到它有一个不同的含义"SN" in P01["type"],使用in是一个子串测试,所以例如"foo" in "foobar"是True.