Почему в этом шаблоне Django не выполняется поиск по вложенным точкам?Python

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Почему в этом шаблоне Django не выполняется поиск по вложенным точкам?

Сообщение Anonymous »

Согласно книге Django, система шаблонов Django поддерживает вложенные поиски по точкам:

Поиски по точкам могут быть вложены на несколько уровней. Например, в следующем примере используется {{ person.name.upper }}, что преобразуется в поиск по словарю (person['name']), а затем вызов метода (upper()): '{{ person.name.upper }} {{ person.age }} лет.'

Есть ли гоблины с таким подходом, не широко описанные в документации? У меня проблемы с поиском по вложенным точкам. Вот минимальный пример:
views.py:

Код: Выделить всё

test = [{'foo': [1, 2, 3], 'bar': [4, 5, 6]}, {'baz': [7, 8, 9]}]
ndx = 'bar'
t = loader.get_template('meh.html')
c = Context({'test': test,
'ndx': ndx,})
return HttpResponse(t.render(c))
шаблон meh.html:

Код: Выделить всё

{{ test }}
{{ test.0 }}
{{ test.0.ndx }}

Результирующий HTML:

Код: Выделить всё

[{'foo': [1, 2, 3], 'bar': [4, 5, 6]}, {'baz': [7, 8, 9]}]
{'foo': [1, 2, 3], 'bar': [4, 5, 6]}


Вложенный поиск словарного ключа внутри элемента списка (

Код: Выделить всё

test.0.ndx
) ничего не возвращает, но я ожидаю [4, 5, 6]. Обратите внимание, что ndx оценивается как bar.


Подробнее здесь: https://stackoverflow.com/questions/192 ... o-template
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Python»