Как получить доступ к ключам и значениям словаря в шаблонах django
Я создал словарь отправителей сообщений, который обновляется динамически. Если я печатаю ключи словаря в окне консоли python, я получаю ожидаемый результат, но когда я пытаюсь получить доступ к значениям в шаблоне Django, я ничего не получаю Вот мой код python;
views.py
def home(request):
senders = {}
chatting =Message.objects.filter(seen=False)
for msg in chatting:
user = User.objects.get(id=msg.sender.id)
if user != request.user and user not in senders.values():
senders.update({user.id : user})
return render(request, 'home.html', senders)
шаблон Home.html
<div>
{% for key, val in senders %}
<div>
<a href="#">{{val}}</a>
</div>
{% endfor %}
</div>
Прежде всего, вы уверены, что вам действительно нужен dict здесь? Обычно Django имеет список dicts. Таким образом, вы зацикливаете просто список, как здесь: https://github.com/ansys/aedt-testing/blob/cefebb91675dd54391d6324cd78e7bc97d9a8f6b/aedttest/static/templates/project-report.html#L220
как бы то ни было, ответ на прямой вопрос:
{% for key, value in data.items %}
{{ key }}: {{ value }}
{% endfor %}
https://docs.djangoproject.com/en/dev/ref/templates/builtins/#for
используйте следующую инструкцию в шаблоне django :
{{ ключ }}: {{ значение }}