48 votes

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'

86voto

Jake Points 2460

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

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

47voto

miku Points 63392

Utilisez la balise de modèle last

 {{ value|last }}

Si value est la liste ['a', 'b', 'c', 'd'] , la sortie sera la chaîne "d" .

9voto

Helder Points 81

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

6voto

David Louda Points 316

Vous pouvez marquer le dernier forloop par les balises suivantes

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

et ajoutez votre désir spécial à l'intérieur des balises.

1voto

user2350206 Points 175

sans avec, sera :

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

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X