4
如果设置一个情境变量(例如,“活泉”)作为无或让它未定义....布尔逻辑
{%如果活泉%}呀! {%endif%}
是否您期望(无)。但如果你这样做:
{%if woot == True%}是啊! {%endif%}
它会打印出“是啊!”即使woot是None/undefined。这看起来非常不直观。显然,我可以解决这个问题......但我想了解根本原因。任何想法,为什么发生....?
证明:
from django.template import Context, Template
x = Template("{% if woot %}Yeah!{% endif %}")
y = Template("{% if woot == True %}Yeah!{% endif %}")
x.render(Context({})) # => u''
y.render(Context({})) # => u'Yeah!'
x.render(Context({'woot':None})) # => u''
y.render(Context({'woot':None})) # => u'Yeah!'
这是在Django上1.4.3
谢谢。完全合理的解释。还有一个原因,我期待升级到1.5。 –