python - 如何在 django 模板中选择或分配变量?

标签 python django django-templates

我有一个模板:

{% 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/

相关文章:

python xml.etree.ElementTree 获取元素内的所有内容,无论是文本还是子元素

javascript - 如何使用 Django REST Framework 保存嵌套的 Backbone 模型

python - ManagementForm 数据丢失或被篡改

django - 动态选择Django包含标签的模板

python - 如何以简单的方式在 Keras 中分配 class_weight?

python - 如何使用 matplotlib 在子图中调整图形大小

python - 使用参数 'vote' ', '(' app1/(?P<question_id>[0-9]+)/vote/$'] 反转 )' not found. 1 pattern(s) tried: ['

python - 在 Django 模板中捕获异常

python - 如何格式化从字典转换的Dataframe

python - Django Admin has_delete_permission 从另一个管理类执行