Django的模板,如果同一个标签内的逻辑breckets和优先顺序
问题描述:
在我的Django模板我有Django的模板,如果同一个标签内的逻辑breckets和优先顺序
{% if object_not_readonly and user_is_worker or user_is_admin %}
Django的doc告诉我
使用两个AND和OR子句条件允许,并且具有更高的优先级或者是
我觉得这在IF语句中声明逻辑优先级的方式并不明显。
问题是:
是它像在Django模板语言{% if object_not_readonly and (user_is_worker or user_is_admin) %}
条件,与像if A and (C or B) and (not Z)
明显的条款?
答
为了绝对安全,我会分裂它是这样的:
{% if object_not_readonly %}
{% if user_is_worker or user_is_admin %}
...
{% endif %}
{% endif %}
是的,我做到这一点。但它太复杂,并不明显,我认为 –
我认为是更清晰但ymmv,也不会需要更多的处理时间。 –
嵌套'如果'是伟大的。但是,如果django开发人员执行复杂的条件,那么看到它做得很好就会很酷 –