Пытаюсь вевести значения в шаблоне из переданного словаря
Моя задача:
Прорендерить перенданный словарь в html, выведя тем самым менюшку (заголовки которой и хранятся в словаре)
Мой код (части): views.py:
d = {}
for l1 in lavel.objects.all().filter(lvl=2):
d[l1.id] = dict()
d[l1.id]['id'] = l1.id
d[l1.id]['alias'] = l1.alias
d[l1.id]['title'] = l1.title
...
context = {
...
'd': d,
}
return render(request, "blog/index.html", context=context)
index.html:
{% for k in d %}
<li class="menu-category">
<span>{{ k }}: {{ d.k.title }} <a href="edit.html">edit</a> <i class="icon icon-plus"></i></span>
.........
Логический смысл: Вывести меню из словаря
Техническая проблема: Фактически вывелось только 'k' (это временный вывод, показывает просто id записи из БД)
'd.k.title' - как будто его и нет
Физически он существует (проверялся во вьюехе выводом в консоль) Если обрачаться так: d[k]['title'], то django на меня ругается, и мне становится грустно(
В общем, помогите пожалуйста, в чем проблема? Сроки проекта горят уже (курсач скоро сдавать), а я уже 5е сутки сижу с меню... Не одно так другое
Ответы (1 шт):
не знаю зачем вам такой словарь. Но перебор по словарю ничем не отличается от того как это делается в python.
{% for k,v in d.items %}
{{k}}:{{v.title}}
{%endfor%}