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

时间:2011-01-19 00:32:33

标签: 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'

8 个答案:

答案 0 :(得分:59)

感谢大家的帮助,让我意识到我可以使用with tag

{% with list|last as last %}
    {{ last.key }}
{% endwith %}

答案 1 :(得分:28)

使用last模板标记:

{{ value|last }}
  

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

答案 2 :(得分:7)

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

答案 3 :(得分:1)

答案 4 :(得分:0)

没有,将是:

{% set last = list|last %}
{{ last.key }}

答案 5 :(得分:0)

您可以通过以下标签标记最后一个forloop

{% if forloop.last %} ... {% endif %}

并在标签内添加特殊需求。

答案 6 :(得分:0)

它对我有用,只需使用内置函数 count() 计算 views.py 文件中的记录数,然后检查 forloop.counter != total_count 然后添加和


{% if forloop.counter != total_jobs %}
    <hr>
{% endif %}

答案 7 :(得分:-3)

在模板中使用以下代码:

{{ list|slice:":-1".items.0.0 }}