Django模板行为奇怪

3
{% if None == False %}
    abc
{% endif %}

上述代码中,我的模板却奇怪地显示了abc。有什么解释吗?
5个回答

3

很奇怪。在普通的Python中,

if None == False:
    # this will not run
    print "abc"

在 Django 上报告一个错误。


尝试提交工单,但出现以下错误:提交被拒绝,因为可能是垃圾邮件(BlogSpam 表示内容是垃圾邮件(badip:state/blacklist.d/127.0.0.1))。 - goh

3

在我提出的另一个类似的问题中,Jason Culverhouse提供了答案。

False和None被视为变量,而不是常量。如果在上下文字典中找不到这些变量,则它们将被解析为None。


1

1
在我的Python控制台中,如果None == False不会产生任何结果。 - goh
等一下,我刚刚尝试了一下,我的控制台返回了“False”。我认输了! - laher

0

目前看来,你似乎需要按照建议在帖子中创建自己的模板过滤器。


我想我只能在我的逻辑视图中完成它。 - goh

0

或者,您可以使用if not None


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接