如何在Django模板中引用列表中的最后一项?{{list.-1.key}}

Jak*_*ake 32 django django-templates

例如,如果我在未知长度的上下文中有变量;
list=[{'key':'A'},{'key':'B'},{'key':'C'}]

我怎样才能获得最后一个对象?{{ list.0.key }}适用于第一个,但{{ list.-1.key }}给出;
Could not parse the remainder: '-1.key' from 'list.-1.key'

Jak*_*ake 62

谢谢大家的帮助,它让我意识到我可以使用with标签.

{% with list|last as last %}
    {{ last.key }}
{% endwith %}
Run Code Online (Sandbox Code Playgroud)

  • 错误:不支持负索引.Django v.1.7 (5认同)

mik*_*iku 31

使用last模板标签:

{{ value|last }}
Run Code Online (Sandbox Code Playgroud)

如果value是列表['a', 'b', 'c', 'd'],则输出将是字符串"d".


小智 7

就我而言,我找到了这个解决方案:{{object_list.last.id}} 对表达式非常有用,如下所示:{% url 'my-url' object_list.first.id object_list.last.id %}


Dav*_*uda 6

您可以通过以下标签标记最后一个for循环

{% if forloop.last %} ... {% endif %}
Run Code Online (Sandbox Code Playgroud)

并在标签中添加您的特殊愿望。