Jinja 2 模板:我如何在 if 语句中检查布尔值是 False 还是 None
Jinja 2 Templates: how I check in an if statement whether the boolean is False or None
所以我想在 jinja2 模板中显示状态是 True
、False
还是 None
。
我自然会使用布尔值,因为我有我需要的三种状态。
所以我尝试了以下代码来显示 True
和 False
状态,并且在 None
.
时什么都不显示
{% if valid %}
VALID
{% elif not valid %}
NOT VALID
{%endif %}
但我现在的问题是,当 valid
为 None
时,它显示 'NOT VALID'
我如何才能将其更改为不显示任何内容。
写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''
所以我想在 jinja2 模板中显示状态是 True
、False
还是 None
。
我自然会使用布尔值,因为我有我需要的三种状态。
所以我尝试了以下代码来显示 True
和 False
状态,并且在 None
.
{% if valid %}
VALID
{% elif not valid %}
NOT VALID
{%endif %}
但我现在的问题是,当 valid
为 None
时,它显示 'NOT VALID'
我如何才能将其更改为不显示任何内容。
写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''