有人可以建议我如何在Django模板中迭代字典吗?
dic1={5: ['jaw replacement - 23-Jun-2020 (16:20:09.164240)', 'jaw replacement done - 23-Jun-2020 (16:20:51.158085)', 'jaw replacement done,almost done - 23-Jun-2020 (16:25:40.066955)', 'jaw replacement done,almost done 1 - 23-Jun-2020 (16:27:00.355605)', 'jaw replacement done,almost done 2 - 23-Jun-2020 (16:31:35.111660)']}
this is the context i am passing
i need something like this in template
for i in dic1:
print(i)
list1=dic1[i]
for k in list1:
print(k)
{% for i in notes %}
{% with list1=dic1[i] %}
{{list1}}
{% endwith %}
{% endfor %}
这不起作用。
答案 0 :(得分:0)
您可以从视图直接将dic1一个传递到模板,并通过模板\中的字典进行迭代。
可见
return render(request, 'template.html',{'dic1':dic1})
#intemplate.html
{% for key, value in dic1 %}
<tr>
<td> Key: {{ key }} </td>
{% for value_in_array in value %}
<td> Value: {{ value }} </td>
{% endfor %}
</tr>
{% endfor %}
答案 1 :(得分:0)
假设您的数据是-
dic1 = {'a': [ [1, 2] ], 'b': [ [3, 4] ],'c':[ [5,6]] }
您可以使用data.items()
方法来获取字典元素。注意,在django模板中,我们不放置()
。还有一些用户提到值[0]
不起作用,如果是这种情况,请尝试values.items
。
<table>
<tr>
<td>a</td>
<td>b</td>
<td>c</td>
</tr>
{% for key, values in dic1.items %}
<tr>
<td>{{key}}</td>
{% for v in values[0] %}
<td>{{v}}</td>
{% endfor %}
</tr>
{% endfor %}
</table>
希望它能对您有所帮助。
答案 2 :(得分:0)
在普通的Python中,通常可以通过在字典上使用items()方法来访问键和值。
例如给出字典
<?php
$items = array(1, 44, 5, 6, 68, 9);
$max = 0;
foreach($items as $item) {
$max = ($max < $item)?$item:$max;
}
echo $max;
?>
您应该可以通过以下操作访问它:
some_dic = {'1': 'Hello', '2': 'World'}
您可以在Django模板中遵循相同的原理,并且只需省略“()”,如下所示:
for key, value in some_dic.items():
print(key, value)