假设我的Django模板中有以下内容:
{% if a != None and a.b > 5 %}
如果
a.b > 5
不是,我能确定a
不会被评估吗?IE:在Django模板中,python在计算逻辑表达式时是否会出现短路?
最佳答案
这种行为似乎没有在官方文档中指定,但是bug #13373的存在意味着它们是指定的,v1.2beta除外。
commit fef0d25bdc
中所做的修复似乎仍然存在于smartif.py
的current version中,因此可以相当安全地假设它仍然有效。