Jak uzyskać dostęp do elementów tablicy w szablonie Django?
166
Otrzymuję tablicę arrprzekazaną do mojego szablonu Django. Chcę uzyskać dostęp do poszczególnych elementów tablicy w tablicy (np arr[0], arr[1]) itd. Zamiast pętli przez całą tablicę.
Próbuje je w tej kolejności, aż znajdzie dopasowanie. Otrzymasz więc foo.3indeks listy, ponieważ Twój obiekt nie jest dyktatem z 3 jako kluczem, nie ma atrybutu o nazwie 3 i nie ma metody o nazwie 3.
Czy to nie pierwszy i ostatni bardziej podobny foo['bar']?
Bob Stein
2
Wydaje się, że nie ma sposobu, aby uzyskać dostęp do elementu listy przy użyciu indeksu zmiennej :(
Vicky Chijwani
Zgadzam się z @VickyChijwani: czwarta opcja powyżej jest nieważna. Szablony Django nie wydają się zrobić wyszukiwań list-indeksowych ze zmiennymi
ehacinom
@hiyume Jak to przezwyciężyć?
Csaba Toth
Nie rozumiem, że nie mogłem znaleźć tego w oficjalnej dokumentacji. Czy możesz podać źródło tego posta? Jestem również zdumiony, że ta odpowiedź nie jest obecnie akceptowana.
arr.0
,arr.1
... Innym rozwiązaniem: napisać swój własny szablonarr|array_item: "0"
lub coś podobnego.Odpowiedzi:
Pamiętaj, że notacja kropkowa w szablonie Django jest używana dla czterech różnych notacji w Pythonie. W szablonie
foo.bar
może oznaczać:Próbuje je w tej kolejności, aż znajdzie dopasowanie. Otrzymasz więc
foo.3
indeks listy, ponieważ Twój obiekt nie jest dyktatem z 3 jako kluczem, nie ma atrybutu o nazwie 3 i nie ma metody o nazwie 3.źródło
foo['bar']
?itp.
źródło
Możesz uzyskać dostęp do elementów sekwencji za pomocą arr.0 arr.1 i tak dalej. Zobacz rozdział poświęcony systemowi szablonów Django w książce django, aby uzyskać więcej informacji.
źródło
gdy
render
prośba dotyczycoctext
pewnych informacji: na przykład:możesz uzyskać do niego dostęp w tym szablonie:
for variabels :
for array :
możesz także nazwać obiekty tablicowe w programie
views.py
i użyć go w następujący sposób:jeśli jest inny problem, chciałbym ci pomóc
źródło