Python Django模板:通过提供的List迭代

时间:2015-12-10 23:05:47

标签: python django django-templates

我希望在没有声明变量的情况下循环使用django模板。

{% for p in [ 'Value A', 'Value B' ] %}
<tr>
    <td>
        {{ p }}
    </td>
</tr>
{% endfor %}

有可能吗? 如果没有,我可以在循环之前在模板中声明变量吗?

2 个答案:

答案 0 :(得分:3)

它的hacky,你不应该真的这样...模板不是为此设计的(django-templates ... jinja模板是另一回事......切换到jinja后端可能是“正确”的答案,第二好答案是将列表作为上下文变量传递...最后选择可能是以下

{% with ["asd","World","dddd"] as my_var %}     
<html>
    {% for item in my_var %}
        <div> {{ item }} </div>
    {% endfor %}
</html>
{% endwith %}

答案 1 :(得分:0)

您应该在视图中声明值。它根据文档进行了优化,更快和推荐,请阅读https://docs.djangoproject.com/en/1.9/topics/performance/