Otrzymuję tablicę arr
przekazaną 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ę.
Czy jest na to sposób w szablonie Django?
Otrzymuję tablicę arr
przekazaną 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ę.
Czy jest na to sposób w szablonie Django?
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ć:
foo[bar] # dictionary lookup
foo.bar # attribute lookup
foo.bar() # method call
foo[bar] # list-index lookup
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.
foo['bar']
?
arr.0
arr.1
itp.
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.
gdy render
prośba dotyczy coctext
pewnych informacji: na przykład:
return render(request, 'path to template',{'username' :username , 'email'.email})
możesz uzyskać do niego dostęp w tym szablonie:
for variabels :
{% if username %}{{ username }}{% endif %}
for array :
{% if username %}{{ username.1 }}{% endif %}
{% if username %}{{ username.2 }}{% endif %}
możesz także nazwać obiekty tablicowe w programie views.py
i użyć go w następujący sposób:
{% if username %}{{ username.first }}{% endif %}
jeśli jest inny problem, chciałbym ci pomóc
arr.0
,arr.1
... Innym rozwiązaniem: napisać swój własny szablonarr|array_item: "0"
lub coś podobnego.