web-dev-qa-db-fra.com

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 accéder spécifiquement au premier élément de cette liste en utilisant

{{ thelist|first }}

Cependant, je veux également accéder à une propriété de cet élément ... idéalement, vous penseriez qu'il ressemblerait à ceci:

{{ thelist|first.propertyName }}

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

Y a-t-il une solution de modèle à cela, ou vais-je juste me retrouver à passer une variable de modèle supplémentaire ...

78
M. Ryan

Vous pouvez accéder à n'importe quel élément d'une liste via son numéro d'index. Dans un modèle, cela fonctionne de la même manière que toute autre recherche de propriété:

{{ thelist.0.propertyName }}
157
Daniel Roseman

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

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

Si vous essayez d'accéder à un champ manytomany, n'oubliez pas d'ajouter all, il ressemblera à object.m2m_field.all.0.item_property

17
Mohamed Turki