Django模板:列表"for"标签内的嵌套字典"for"标签

T. *_*one 5 django django-templates

我希望能够在Django模板中的for循环内迭代字典.

为了这个示例,请考虑以下事项:

items_list = [ {'key1':'value1', 'key2':'value2'}, {'key1':'value5', 'key2':'value9'} ]
Run Code Online (Sandbox Code Playgroud)

方法#1:

{% for dict in items_list %}
    {% for key,value in dict %}
        <tr>
            <td>{{ key }}</td>
            <td>{{ value }}</td>
        </tr>
    {% endfor %}
{% endfor %}
Run Code Online (Sandbox Code Playgroud)

方法#2:

{% for dict in items_list %}
    {% for node in dict.items %}
        <tr>
            <td>{{ node.0 }}</td>
            <td>{{ node.1 }}</td>
        </tr>
    {% endfor %}
{% endfor %}
Run Code Online (Sandbox Code Playgroud)

问题

  • 方法#1为什么不起作用?这对我来说似乎很直观.
  • 我在方法#2中这样做的方式是好还是以后会引起问题?

Rob*_*ert 16

.items属性应该在方法1中使用.试试这个:

{% for key,value in dict.items %}
Run Code Online (Sandbox Code Playgroud)

dict.items()返回键值对的列表.但只是dict是一个字典对象. http://docs.python.org/library/stdtypes.html#dict.items