我有一个模板:
{% 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 %}
怎么做?
答案 0 :(得分:3)
不要在模板中这样做(我认为你不能),而是在views.py中这样做:
var = c if c == 2 else b
# add to template context
context['var'] = var
如果你在模板中添加太多逻辑,人们必须查看这两个地方以找出正在发生的事情。但是如果你在views.py中拥有所有逻辑,它就会更清楚。