Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/314.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/extjs/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何在django模板中遍历字典中的字典?_Python_Django_Dictionary_Django Templates - Fatal编程技术网

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 %}