Как использовать нотацию шаблона django в цикле for

Я пытаюсь получить значение словарного слова и отобразить это на странице в шаблоне Django:

{% for dictkey in keys %} <p> {{ mydict.dictkey }} </p> {% endfor %} 

(скажем, «ключи» и «mydict» были переданы в шаблон в Контексте)

Django отображает страницу, но без содержимого словаря («Недопустимая переменная шаблона»)

Я предполагаю, что проблема заключается в том, что он пытается сделать mydict ['dictkey'] вместо mydict [ фактический ключ IN переменной dictkey ]? Как «избежать» этого поведения?

Благодаря!

ОБНОВЛЕНИЕ : на основании полученных ответов мне нужно добавить, что я действительно ищу конкретно, как добиться ключевого поиска внутри цикла for. Это более характерно для моего фактического кода:

 {% for key, value in mydict1.items %} <p> {{ mydict2.key }} </p> {% endfor %} 

В принципе, у меня есть два словаря, которые используют одни и те же ключи, поэтому я не могу выполнить трюк items () для второго.

3 Solutions collect form web for “Как использовать нотацию шаблона django в цикле for”

См. Этот ответ на (возможно, дублированный) вопрос.

Он создает настраиваемый фильтр, который при применении к словарю с ключом в качестве аргумента выполняет поиск словаря с использованием ключа и возвращает результат.

Код:

 @register.filter def lookup(d, key): if key not in d: return None return d[key] 

Применение:

 {% for dictkey in dict1.keys %} <p> {{ dict2|lookup:dictkey }} </p> {% endfor %} 

Регистрация фильтра описана в документации .

Мне грустно, что такого рода вещи не встроены.

С http://docs.djangoproject.com/en/dev/ref/templates/builtins/#for

Это также может быть полезно, если вам нужно получить доступ к элементам в словаре. Например, если в вашем контексте содержались словарные данные, следующее отобразило бы ключи и значения словаря:

 {% for key, value in data.items %} {{ key }}: {{ value }} {% endfor %} 

Фокус в том, что вам нужно вызвать dict.items() чтобы получить пару (key, value) .

См. Документы: http://docs.djangoproject.com/en/dev/ref/templates/builtins/#for

 {% for key, value in data.items %} {{ key }}: {{ value }} {% endfor %} 
  • Как сделать Django slugify правильной работой с строками Unicode?
  • Как отобразить упорядоченный словарь в шаблонах django?
  • ключи с пробелами в шаблонах Django
  • Получить версию Django для приложения
  • В Django, как мне получить escaped html в HttpResponse?
  • Как экспортировать запрос в Django 1.7 в файл xls?
  • как использовать пользовательский django templatetag с шаблоном django if statement?
  • Форматы данных Python в js datastructures с использованием шаблонов Django (списки и dicts)
  • Шаблон Django не существует, хотя он показывает, что файл существует,
  • Отобразить таблицу объектов django
  • Словарь как таблица в шаблоне Django
  • Python - лучший язык программирования в мире.