101 votes

Django Templating: comment accéder aux propriétés du premier élément d'une liste

Assez simple. J'ai une liste Python que je passe à un modèle Django.

Je peux spécifiquement accéder au premier élément de cette liste en utilisant

 {{ thelist|first }}
 

Cependant, je souhaite également accéder à une propriété de cet élément ... idéalement, vous auriez l’impression que cela ressemblerait à ceci:

 {{ thelist|first.propertyName }}
 

Mais hélas, ce n'est pas le cas.

Existe-t-il une solution de modèle à cela, ou vais-je simplement me trouver en train de passer une variable de modèle supplémentaire ...

210voto

Daniel Roseman Points 199743

Vous pouvez accéder à n'importe quel élément d'une liste via son numéro d'index. Dans un modèle, cela fonctionne comme n'importe quelle autre recherche de propriété:

 {{ thelist.0.propertyName }}
 

39voto

Mark Lavin Points 12740

Vous pouvez combiner les with étiquette de modèle avec le first filtre modèle pour accéder à la propriété.

 {% with thelist|first as first_object %}
    {{ first_object.propertyname }}
{% endwith %}
 

25voto

Mohamed Turki Points 699

Si vous essayez d'accéder à plusieurs champs, n'oubliez pas d'ajouter all afin qu'il ressemble à object.m2m_field.all.0.item_property

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