我有一个模板:
{% if c == 2 %}
{% for time in a %}
code(1)
{% endfor %}
{% else %}
{% for time in b %}
repeat of code(1)
{% endfor %}
{% endif %}
如您所见,这段代码有一个重复的部分。我想这样重构:
{% if c == 2 %}
var = a
{% else %}
var = b
{% endif %}
{% for time in var %}
code(1)
{% endfor %}
如何做到这一点?
请您参考如下方法:
不要在模板中这样做(我不认为你可以),而是在 views.py 中这样做:
var = c if c == 2 else b
# add to template context
context['var'] = var
如果您在模板中添加了太多逻辑,人们就必须查看这两个地方才能弄清楚发生了什么。但是如果你把所有的逻辑都放在 views.py 中,那就更清楚了。
