Как получить доступ к элементам массива в шаблоне Django?

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

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

 WeizhongTu16 апр. 2015 г., 05:43
@ rphonika Да, пример здесь:stackoverflow.com/a/29664945/2714931
 rphonika30 июл. 2014 г., 20:41
Вы можете получить доступ к элементу, как это,arr.0arr.1, ... Другое решение: написать свой собственный тег шаблонаarr|array_item: "0"  или что-то вроде этого.

Ответы на вопрос(4)

что точечная нотация в шаблоне 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.

 Bob Stein10 февр. 2016 г., 06:18
Арен»т первый и последний больше нравится?foo['bar']
 Vicky Chijwani27 янв. 2017 г., 17:45
Кажется, нет никакого способа получить доступ к элементу списка, используя переменную index :(
 ehacinom09 февр. 2017 г., 18:46
Согласитесь с @VickyChijwani: четвертый вариант выше недействителен. Джанго шаблоны неПохоже, поиск по индексу списка с переменными
 Csaba Toth01 июн. 2017 г., 03:13
@hiyume Как это преодолеть?
 Vicky Chijwani09 февр. 2017 г., 21:56
@hiyume Я думаю, это было в силе в 2009 году ...

когда ты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 %}

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

.0 arr.1 и так далее. УвидетьГлава о системе шаблонов Django книги Джанго для получения дополнительной информации.

arr.0
arr.1

 cyberjoac19 дек. 2014 г., 10:16
Есть ли способ сделать это без магических чисел? Другими словами, чтобы "название" .0 .1 .2 и т.д ...? Например, массив ["имя"], массив ["Фамилия"] так далее..
 Ofri Raviv19 дек. 2014 г., 11:49
@cyberjoac в этом случае использовать dict. По мнению: d = {'имя':'фу ','Фамилия': 'бар'}. В шаблоне {{d.first_name}} будет работать просто отлично.
 Nandha Kumar04 дек. 2014 г., 13:08
как печатать динамически, как например: arr.variablename

Ваш ответ на вопрос