我在python中有一个orderdic,我可以使用以下代码访问python中的元素:
for value in orderedDict:
for val in orderedDict[value]:
print(orderedDict[value][val])
现在我试图通过django模板渲染它。首先,我使用此代码,它的工作原理。
<body>
{% for value in orderedDict %}
<tr><td> {{ value }} </td></tr>
{% endfor %}
</body>
但是当我要访问嵌套值时,我无法获得任何结果。
<body>
{% for value in orderedDict %}
{% for val in orderedDict[value] %} #I tried orderedDict.value too but doesn't work.
<tr><td> orderedDict[value][val] </td></tr>
{% endfor %}
{% endfor %}
</body>
澄清一下,这是我有序的一个元素:
OrderedDict([('name', 'uniquename'), ('default', True), ('t', ['test1']), ('filename', OrderedDict([('t2', False), ('r', OrderedDict([('url', 'https://web.com'), ('f1', 'type2'), ('code', [42])])))
我想要的是&#39; uniquename&#39;和默认的真值。 我可以获得“uniquename&#39;通过我的代码,但无法获得默认值,即True。
你能帮我解决这个问题吗?
答案 0 :(得分:1)
假设您有一个dict(或Ordered
个),如下所示:
h = {
'a': {
'aa': 123,
'bb': 456,
},
'b': {
'aa': 789,
'bb': 120,
},
'c': {
'aa': 345,
'bb': 678,
},
}
然后在模板中你可以这样做:
{% for key, value in h.items %}
Main key is: {{ key }}
{% for k, v in value.items %}
<tr><td> {{ k }}: {{ v }} </td></tr>
{% endfor %}
{% endfor %}
将渲染:
Main key is: b
aa: 789
bb: 120
Main key is: c
aa: 345
bb: 678
Main key is: a
aa: 123
bb: 456