我的模板中有以下代码应该比较 watchinstance.shift
的值,可以是“DAY”或“NIGHT”,转换为文字字符串“DAY”。比较总是失败。
{% for watchinstance in watchinstance_list %}
{% if watchinstance.shift == "DAY" %}
<p>shift is DAY</p>
{% endif %}
{% endfor %}
使用
ifequal
也不起作用:{% for watchinstance in watchinstance_list %}
{% ifequal watchinstance.shift "DAY" %}
<p>shift is DAY</p>
{% endifequal %}
{% endfor %}
但是,只需调用
{{ watchinstance.shift }}
按预期工作:{% for watchinstance in watchinstance_list %}
{{ watchinstance.shift }}
{% endfor %}
返回 DAYs 和 NIGHTs。
我检查了是否
watchinstance.shift
返回任何额外的字符,它看起来不像......我还能在这里错过什么?
最佳答案
所以搜索后Django docs 2个小时,我终于找到了一种让它工作的方法:
{% if watchinstance.shift|stringformat:"s" == "DAY" %}
关于Django 模板变量值与字符串文字比较失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3732106/