我有一个模板:
{% 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 中有所有逻辑,那就更清楚了。
关于python - 如何在 django 模板中选择或分配变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36238233/