Django 1.8.2 - 在模板中显示字典的字典

时间:2015-06-10 07:42:31

标签: python django templates dictionary django-1.8

我正在使用Django 1.8.2,我在弄清楚如何迭代这个复杂的字典时遇到了一些麻烦。我试图将此信息传递到我的模板并显示信息。

context = {'name': 'John', 'inventory': '[{"hardware": "Desktop", "brand": "HP"}, {"hardware": "Server" "brand": "Dell"}]'}

有什么想法吗?非常感谢。

3 个答案:

答案 0 :(得分:0)

在你的模板中:

{{ name }}
{% for item in inventory %}
  {{ item.hardware }}
  {{ item.brand }}
{% endfor %}

请阅读此文档:https://docs.djangoproject.com/en/1.8/topics/templates/

答案 1 :(得分:0)

  

检查你的字典并按照这样做,

context = {'name': 'John', 'inventory': '[{"hardware": "Desktop", "brand": "HP"}, {"hardware": "Server", "brand": "Dell"}]'}

并在模板中

{{ name }}
{% for item in inventory %}
  {{ item.hardware }}
  {{ item.brand }}
{% endfor %}

答案 2 :(得分:0)

<强>模板

import simplejson
inventory_dict = simplejson.loads('{"inventory": [{"hardware": "Desktop", "brand": "HP"}, {"hardware": "Server", "brand": "Dell"}]}')
context = {'name': 'John', }
context.update(inventory_dict)

查看

你不能迭代一个字符串(除了迭代每个字符)。 相反,您必须传递一个dict(如果您的数据源是JSON)或一个模型数组(数据库)。

在你的例子中:

constants