我正在尝试将字典值与常量进行比较,并且我注意到这些被区别对待,这取决于我是否使用if / elif语句,并且我只是将值直接与存储在其中的值进行比较不变。下面是一个示例,显示了上下文字典和模板的相关部分(仅选项2和3工作)。我在这里错过了一些关于为什么选项1不起作用的东西吗?
视图:
STATUS1 = 1
STATUS2 = 2
STATUS3 = 3
context = {
'obj1': {
'status': STATUS3,
'otherattrs': 'other stuff'
},
'STATUS1': STATUS1,
'STATUS2': STATUS2,
'STATUS3': STATUS3
}
选项1模板:
{% if obj1.status == STATUS1 %}
button 1
{% elif obj1.status == STATUS2 %}
button 2
{% elif obj1.status == STATUS3 %}
button 3
{% endif %}
选项2模板:
{% if obj1.status == STATUS1 %}
button 1
{% endif %}
{% if obj1.status == STATUS2 %}
button 2
{% endif %}
{% if obj1.status == STATUS3 %}
button 3
{% endif %}
选项3模板:
{% if obj1.status == 1 %}
button 1
{% elif obj1.status == 2 %}
button 2
{% elif obj1.status == 3 %}
button 3
{% endif %}
答案 0 :(得分:0)
无法重现您的问题,所有三种方法都为我输出button 3
。您对选项1的结果如何?