我正在使用Django 1.8.2,我在弄清楚如何迭代这个复杂的字典时遇到了一些麻烦。我试图将此信息传递到我的模板并显示信息。
context = {'name': 'John', 'inventory': '[{"hardware": "Desktop", "brand": "HP"}, {"hardware": "Server" "brand": "Dell"}]'}
有什么想法吗?非常感谢。
答案 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