【问题标题】:Last element in django template list variabledjango 模板列表变量中的最后一个元素
【发布时间】:2013-01-29 08:08:19
【问题描述】:

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

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

我不想在最后一个元素之后添加,。谢谢。

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

【问题讨论】:

标签: django


【解决方案1】:

你是说-

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

查看循环模板上的django docs

【讨论】:

  • 如果您使用的是jinja2,这可以通过{% for d in data %}{%if d == data|last %}{{ d }} {% else %}{{ d }}, {% endif %}{% endfor %} 来完成,请参阅last built-in function
【解决方案2】:

使用{{ data|join:", " }},它完全满足您的需求。

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

【讨论】:

  • 谢谢。我知道加入过滤器。上面的示例只是为了说明我的意思而制作的版本。
【解决方案3】:

或者你也可以试试这个-

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

查看循环模板上的docs

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-05-16
    • 1970-01-01
    • 1970-01-01
    • 2014-01-13
    • 2014-06-15
    • 2018-02-19
    • 2010-11-13
    • 2022-01-07
    相关资源
    最近更新 更多