Как получить доступ к элементам массива в шаблоне Django? - PullRequest
151 голосов
/ 09 ноября 2009

Я получаю массив arr, переданный моему шаблону Django. Я хочу получить доступ к отдельным элементам массива в массиве (например, arr[0], arr[1]) и т. Д. Вместо циклического перемещения по всему массиву.

Есть ли способ сделать это в шаблоне Django?

Ответы [ 4 ]

290 голосов
/ 09 ноября 2009

Помните, что точечная нотация в шаблоне Django используется для четырех разных нотаций в Python. В шаблоне foo.bar может означать любое из:

foo[bar]       # dictionary lookup
foo.bar        # attribute lookup
foo.bar()      # method call
foo[bar]       # list-index lookup

Он пробует их в этом порядке, пока не найдет совпадение. Так что foo.3 даст вам ваш индекс списка, потому что ваш объект не является диктатом с 3 в качестве ключа, не имеет атрибута с именем 3 и не имеет метода с именем 3.

136 голосов
/ 09 ноября 2009
arr.0
arr.1

и т.д.

29 голосов
/ 09 ноября 2009

Вы можете получить доступ к элементам последовательности с arr.0 arr.1 и так далее. См. главу о системе шаблонов Django книги django для получения дополнительной информации.

3 голосов
/ 13 марта 2017

когда вы render запросите coctext некоторая информация: за экзамен:

return render(request, 'path to template',{'username' :username , 'email'.email})

вы можете получить к нему доступ по шаблону следующим образом: for variabels :

{% if username %}{{ username }}{% endif %}

for array :

{% if username %}{{ username.1 }}{% endif %}
{% if username %}{{ username.2 }}{% endif %}

Вы также можете называть объекты массива в views.py, и десять используют его как:

{% if username %}{{ username.first }}{% endif %}

если есть другая проблема, я хочу помочь вам

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...