views.py
中的代码:
def home(request):
return render(request, 'home.html', {'age':37})
这是django模板示例中的if
模板判断:
<tr>
<td>
{% if age > 25 %}
<span> >25 </span>
{% elif age > 30 %}
<span> >30 </span>
{% elif age > 35 %}
<span> >35 </span>
{% else %}
<span> other </span>
{% endif %}
</td>
</tr>
但是如果我刷新safira,那么所有打印>25
,而不是>35
,为什么?
答案 0 :(得分:2)
逻辑顺序如下:
<tr>
<td>{% if age > 35 %}
<span> >35 </span>
{% elif age > 30 %}
<span> >30 </span>
{% elif age > 25 %}
<span> >25 </span>
{% else %}
<span> other </span>
{% endif %}
</td>
</tr>
答案 1 :(得分:0)
你没有说明是否足够好。脚本将从上到下遍历if,第一个是True将执行属于该if语句的代码,然后退出if块。所以你的第一个'如果'是真的,因为37大于25并且会退出,忽略其他的精灵。
如果说你的条件更精确地大于x且小于y等,那会更好。