django模板列表变量中的最后一个元素

时间:2013-02-13 17:25:01

标签: django

我想知道如何从上下文对象中过滤掉列表变量的最后一个元素。

{% for d in data %}
    {{ d }},
{% endfor %}

我不希望在最后一个元素后面有,。谢谢。

注意:这只是一个假设的例子。我知道我们可以使用连接过滤器来实现同样的目的

3 个答案:

答案 0 :(得分:46)

你的意思是 -

{% for d in data %}
    {% if forloop.last %}
        {{ d }}
    {% else %}
        {{ d }},
    {% endif %}
{% endfor %}

查看模板for for循环的django docs

答案 1 :(得分:7)

使用{{ data|join:", " }},它完全符合您的需要。

https://docs.djangoproject.com/en/dev/ref/templates/builtins/?from=olddocs#join

答案 2 :(得分:7)

或者你也可以试试这个 -

{% for d in data %}
    {{ d }} {% if not forloop.last %},{% endif %}
{% endfor %}

查看模板for for循环的docs