2009-09-25 13 views
63

Całkiem proste. Mam listę Pythona, którą przechodzę do szablonu Django.Django Templating: jak uzyskać dostęp do właściwości pierwszego elementu na liście

mogę specjalnie dostęp do pierwszej pozycji na liście za pomocą

{{ thelist|first }} 

Jednak, ja też chce uzyskać dostęp do właściwości tego elementu ... idealnie można by pomyśleć, że to wyglądać tak:

{{ thelist|first.propertyName }} 

Ale niestety, nie.

Czy istnieje szablon Rozwiązaniem tego problemu, albo ja po prostu zamiar znaleźć sobie przechodząc dodatkową zmienną szablonu ...

Odpowiedz

129

można otworzyć dowolną pozycję na liście poprzez jego numer indeksu. W szablonie to działa tak samo, jak każdy inny odnośnika nieruchomości:

{{ thelist.0.propertyName }} 
+0

Hmm. to jednak nie działa z inline_admin_formset jednak. Domyślam się, że iterator nie działa tak, jak tego oczekuję. – Shayne

+0

Witaj Daniel, czy możesz sprawdzić moje pytanie dotyczące szablonu/widoku http://stackoverflow.com/questions/34791375/how-to-use-render-to-response-to-render-a-html-page-within- div-in-django? – Sathish

+0

Jest to znacznie lepsze niż pętla 'for', aby przejść przez każdy z komunikatów o błędach. Dzięki! – IIllIIll

25

Można łączyć tag with szablonu z filtrem first szablonu dostępu do właściwości.

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

Dla słownika, najpierw zwraca krotkę dla pary klucz/wartość, jest nieco brzydka, ale dodałem inną z instrukcją, aby uzyskać tylko wartości. {% z thelist | first as first_object%} {% with first_object.1 as object%} {{object}} {% endwith%} {% endwith%} –

14

Jeśli próbujesz uzyskać dostęp do pola manytomany, należy dodać all, tak to będzie wyglądać object.m2m_field.all.0.item_property

Powiązane problemy