Отображение словарного значения из модели django в html
У меня есть модель django, которая состоит из поля JSONField()
.
Я пытаюсь передать детали этого поля в html в виде контекстной переменной. В JSONField()
хранится словарь. По какой-то причине в представленном html-файле отображается только первая часть каждого элемента словаря.
Models.py:
class WholeValues(models.Model):
eb_top_items_list = models.JSONField()
Main.py
#updating JSONField() values with a dictionary
eb_numbers_for_upload = WholeValues.objects.all()
eb_numbers_for_upload.update(eb_top_items_list=df_eb_values.head(n=6).to_dict())
html
<ul>
{% for item in eb_top_items %}
<ul> {{ item }}</ul>
{% endfor %}
</ul>
Итак, словарь, который находится в моем .JSONField()
, выглядит следующим образом
{'ElectricBikeA': 13, 'ElectricBikeB': 12, 'ElectricBikeC': 11, 'ElectricBikeD': 11, 'ElectricBikeE': 7}
Однако на странице отображается только текстовая часть словаря. В том, что отображается, отсутствуют числовые значения. Все, что есть, это ElectricBikeA, ElectricBikeB....etc
Итак, я полагаю, что главный вопрос в том, как я могу заставить контекстную переменную показывать значения словаря, а также имя?
Используйте dict.items()
для перебора ключей и значений dict в виде пар
<ul>
{% for key, value in eb_top_items.items %}
<ul>{{ key }}: {{ value }}</ul>
{% endfor %}
</ul>