Как использовать нотацию шаблона 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 не может отображать контекст, когда в оболочке
  • Ошибка страницы администратора Django
  • Как обрабатывать две формы в одном представлении?
  • Добавьте динамическую форму в набор форм django, используя javascript правильно
  • Как выводить график из Matplotlib в шаблонах Django?
  • Фильтр шаблонов Django strip_tags добавляет пространство
  • Выполнение быстрых операторов if на языке шаблонов Django
  • Получение списка ошибок в форме Django
  •  
    Interesting Posts for Van-Lav

    Загрузка изображения с помощью API Square Connect

    Отсутствующие данные в pandas.crosstab

    Проверьте наличие файлов-разработчиков Python из сценария bash

    Python matplotlib -> 3D-график штриховки -> настройка положения метки метки, прозрачные полосы

    Как заставить Django подключаться к Oracle с использованием имени службы

    Что означает синтаксис «variable // = a value» в Python?

    Векторизация для цикла с повторяющимися индексами в python

    Почему класс «вызывается», когда он не инициирован? – Python

    Python SUDS – опрос WSDL для значений MinOccurs и MaxOccurs

    Как написать текст в индексе в метках оси и легенде?

    Модуль бутылки Python вызывает «Ошибка: 413 Request Entity Too Large»

    Найти текущий каталог и каталог файла

    Userena – расширение модели профиля до двух разных моделей

    Есть ли «Редактировать и продолжить» в PyCharm? Перезагрузите код в запущенную программу, например, в Eclipse / PyDev?

    Очистка пути файла в python

    Python - лучший язык программирования в мире.