web-dev-qa-db-fra.com

Comment référencer le dernier élément d'une liste dans un modèle Django? {{list.-1.key}}

si j'ai une variable dans le contexte de longueur inconnue, par exemple;
list=[{'key':'A'},{'key':'B'},{'key':'C'}]

Comment puis-je obtenir le dernier objet? {{ list.0.key }} fonctionne pour le premier, mais {{ list.-1.key }} donne;
Could not parse the remainder: '-1.key' from 'list.-1.key'

31
Jake

Merci à tous pour votre aide, cela m'a amené à réaliser que je pouvais utiliser le avec le tag .

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

Utilisez la balise last template:

{{ value|last }}

Si valeur est la liste ['a', 'b', 'c', 'd'], le résultat sera la chaîne "d".

28
miku

Dans mon cas, je trouve cette solution: {{object_list.last.id}} Très utile pour une expression comme celle-ci: {% url 'my-url' object_list.first.id object_list.last.id %}

7
Helder
1

sans avec, sera:

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