用django循环通过字典

时间:2012-06-29 21:18:44

标签: python django dictionary django-templates

在Django中,我有一个字典,其中包含字典,例如:

d['dict1'] = [('1', 'some information'), ('2', 'some information')]
d['dict2'] = [('1', 'some more information'), ('2', 'some more information')]

我需要循环遍历它,但每次循环它只会获取与loop.counter对应的dict1和dict2的值,所以示例

first time through it would output
1 3
and then
2 4
and so on and so forth 

我尝试过:

{% for item1, item2 in d.items %}
{{ item1.forloop.counter.value1 }}
{{ item2.forloop.counter.value1 }}
{% endfor %}

它什么也没产生。

编辑:我更新了dict实际上的样子

1 个答案:

答案 0 :(得分:2)

你应该转过来:

d['dict1'] = [('value1', '1'), ('value2', '2')]
d['dict2'] = [('value1', '3'), ('value2', '4')]

进入这个:

result = [('value1', '1', '3'), ('value2', '2', '4')]

您可以在视图中执行此操作。您基本上准备将数据显示在模板中。

然后,您可以轻松地迭代值:

{% for name, v1, v2 in result %}
{{ v1 }}
{{ v2 }}
{% endfor %}