如何在Django模板中迭代一系列字典?
data = [{'name' : 'Bob', 'age' : 20}, {'name': 'Sally', 'age' : 20}]
由于数组
,我在使用docs中的代码时出现问题{% for key, value in data.items %}
{{ key }}: {{ value }}
{% endfor %}
答案 0 :(得分:2)
items
无法正常工作,因为您在列表中调用它,但您也不需要这样做。由于您的词典中有相同的键,只需循环遍历列表并直接访问词典:
{% for item in foo %}
{{ item.name }}
{{ item.age }}
{% endfor %}
documentation on template variables解释了.
在词典方面的工作方式/原因:
从技术上讲,当模板系统遇到一个点时,它会尝试 按照以下顺序查找:
- 字典查找
- 属性查找
- 方法调用
- 列表索引查找
答案 1 :(得分:0)
看起来你的循环遍历列表,而不是dict。您可以尝试嵌套循环。
{% for details in data %}
{% for key, value in details.items %}
{{ key }}: {{ value }}
{% endfor %}
{% endfor %}
由于您的dicts看起来具有相同的键,您可能还会执行以下操作:
{% for details in data %}
name: {{ details.name }}
age: {{ details.age }}
{ % endfor %}
如果您有更大的dicts或动态密钥,那么您最好使用嵌套循环。