所以我想在jinja2模板中显示状态是True
,False
还是None
。
当然我使用布尔值,因为我有三个我需要的状态。
因此,我尝试使用以下代码来显示True
和False
状态,并希望在None
时显示任何内容。
{% if valid %}
VALID
{% elif not valid %}
NOT VALID
{%endif %}
但我现在的问题是,当valid
为None
时,它会显示'NOT VALID'
我怎么能改变它而不是显示任何东西。
答案 0 :(得分:4)
写if valid is none
。请注意,Jinja中的is
与Python的is
不同。在这种情况下,is
会调用名为none
的Jinja过滤器。 Here is the list of built-in filters.
jinja2.Template('{% if a is none %}None{% endif %}').render(a=None)
u'None'
jinja2.Template('{% if a is none %}None{% endif %}').render(a=False)
u''