Skip to main content
 首页 » 编程设计

python之如何在 Django 模板中选择或分配变量

2024年08月23日26me-sa

我有一个模板:

{% 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 中,那就更清楚了。