假设我的Django模板中有以下内容:

{% if a != None and a.b > 5 %}

如果a.b > 5不是,我能确定a不会被评估吗?
IE:在Django模板中,python在计算逻辑表达式时是否会出现短路?

最佳答案

这种行为似乎没有在官方文档中指定,但是bug #13373的存在意味着它们是指定的,v1.2beta除外。
commit fef0d25bdc中所做的修复似乎仍然存在于smartif.pycurrent version中,因此可以相当安全地假设它仍然有效。

10-05 21:15