Jinja 2 模板:我如何在 if 语句中检查布尔值是 False 还是 None

Jinja 2 Templates: how I check in an if statement whether the boolean is False or None

所以我想在 jinja2 模板中显示状态是 TrueFalse 还是 None。 我自然会使用布尔值,因为我有我需要的三种状态。

所以我尝试了以下代码来显示 TrueFalse 状态,并且在 None.

时什么都不显示
            {% if valid %}
            VALID
            {% elif not valid %}
            NOT VALID
            {%endif %}

但我现在的问题是,当 validNone 时,它显示 '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''