Python 如何在django模板中遍历字典中的字典?
我的字典如下所示(字典中的字典): 这甚至不显示结果 我想也许我需要更深入地迭代一个层次,所以尝试了以下方法:Python 如何在django模板中遍历字典中的字典?,python,django,dictionary,django-templates,Python,Django,Dictionary,Django Templates,我的字典如下所示(字典中的字典): 这甚至不显示结果 我想也许我需要更深入地迭代一个层次,所以尝试了以下方法: {%if landing_dict.components%} {landing_dict.components%}中的成分为% {成分%%中的字段为%1} {{field}} {%endfor%} {%endfor%} {%else%} 请在下面搜索配料 {%endif%} 但这并没有显示任何内容 我做错了什么?假设您的数据是错误的- data={'a':[[1,2]],'b':[
{%if landing_dict.components%}
{landing_dict.components%}中的成分为%
{成分%%中的字段为%1}
{{field}}
{%endfor%}
{%endfor%}
{%else%}
请在下面搜索配料
{%endif%}
但这并没有显示任何内容
我做错了什么?假设您的数据是错误的-
data={'a':[[1,2]],'b':[[3,4]],'c':[[5,6]}
您可以使用data.items()
方法获取字典元素。注意,在django模板中,我们不放置()
。另外,一些用户提到的values[0]
不起作用,如果是这样,请尝试values.items
<table>
<tr>
<td>a</td>
<td>b</td>
<td>c</td>
</tr>
{% for key, values in data.items %}
<tr>
<td>{{key}}</td>
{% for v in values[0] %}
<td>{{v}}</td>
{% endfor %}
</tr>
{% endfor %}
</table>
这个答案对我不起作用,但我自己找到了答案。然而,没有人发布我的问题。我太懒了,不想去 问它,然后回答它,所以我会把它放在这里 这用于以下查询:
data = Leaderboard.objects.filter(id=custom_user.id).values(
'value1',
'value2',
'value3')
在模板中:
{%用于数据%中的字典]
{%为键,dictionary.items%中的值}
{{key}}:{{value}
{%endfor%}
{%endfor%}
如果将变量数据
(字典类型)作为上下文传递给模板,则代码应为:
{% for key, value in data.items %}
<p>{{ key }} : {{ value }}</p>
{% endfor %}
{%表示键,值位于data.items%}
{{key}}:{{value}}
{%endfor%}
谢谢您的回答。我把菜谱名称提高了一个级别,但没有显示字典的那个级别。谢谢你的回答!我不能使用值[0]
而必须使用值。项目很酷!很高兴分享我所知道的。代码是徒手输入的,因此一些错误是不可避免的。感谢您提及。items
。文档https://docs.djangoproject.com/en/1.4/topics/templates/
给出了一个不起作用的例子,但没有一个能起作用的例子{%fork,v在dict%}
给出了奇怪的结果-k是每个键的第一个字符,v为空,而{%fork在dict%}
返回完整键,但无法检索值(因为dict.k
将k视为文字字符)。向上投票:-)。对于未来的读者,标签和过滤器参考https://docs.djangoproject.com/en/1.8/ref/templates/builtins/#for
记录这一点,以及在格式化列表时可能有帮助的forloop变量。值。项
+1
data = Leaderboard.objects.filter(id=custom_user.id).values(
'value1',
'value2',
'value3')
{% for key, value in data.items %}
<p>{{ key }} : {{ value }}</p>
{% endfor %}