【发布时间】:2011-05-12 20:59:36
【问题描述】:
如何使用 Django 模板语法检查变量是否为 False?
{% if myvar == False %}
好像没用。
请注意,我非常特别想检查它是否具有 Python 值 False。这个变量也可以是一个空数组,这不是我想要检查的。
【问题讨论】:
-
在模板上下文中有一个既可以是列表也可以是布尔值的变量似乎首先是错误的方法?
-
@Risadinha 我不记得我的用例了。你可能是对的。
-
{% if not myvar%}肯定可以在 Django 1.11 中使用,不过我不知道你能走多远! -
@Ibo 很确定
not myvar检查 myvar 是否为假,而不是False。 see also -
@mpen 所以如果
myvar是一个布尔值,not myvar将返回True,如果它被渲染函数作为上下文变量发送到模板,无论其值如何(true 或 false )?在这种情况下,应该检查两件事:1-myvar提供给渲染函数,2-如果提供了myvar的值。如果myvar更像是类实例、字典、对象等而不是经典变量,这将非常复杂。