【问题标题】:How to choose or assign variable in django template?如何在 django 模板中选择或分配变量?
【发布时间】:2016-07-14 06:56:36
【问题描述】:

我有一个模板:

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

如何做到这一点?

【问题讨论】:

标签: python django django-templates


【解决方案1】:

不要在模板中这样做(我认为你不能),而是在 views.py 中这样做:

var = c if c == 2 else b
# add to template context
context['var'] = var

如果您在模板中添加太多逻辑,人们必须查看这两个地方才能弄清楚发生了什么。但是,如果您在 views.py 中包含所有逻辑,那就更清楚了。

【讨论】:

    猜你喜欢
    • 2012-01-21
    • 1970-01-01
    • 2021-09-13
    • 2014-05-07
    • 2011-09-19
    • 2019-07-22
    • 2012-05-03
    • 2012-01-13
    • 2016-04-15
    相关资源
    最近更新 更多