我正在尝试遍历字典,特别是请求对象的元属性。它是一个字典,但下面的代码将它视为字符串列表。我怎么能正确地做到这一点?
编辑:我发现如果我用request.META.items替换request.META,这可行,但为什么以下不起作用?这不是一个字吗?
{% for a, b in request.META %}
{{ a }}: {{ b }}
{% endfor %}
收益率(为简洁而缩短):
G: D
w: s
R: U
H: T
G: N
...
L: S
R: E
H: T
P: A
鉴于:
{{request.META}}
收率:
{'GDM_KEYBOARD_LAYOUT': 'us',
'wsgi.multiprocess': False,
'RUN_MAIN': 'true',
'HTTP_COOKIE': 'sessionid=...
...
...6:*.spx=00;36:*.xspf=00;36:',
'REMOTE_HOST': '',
'HTTP_ACCEPT_ENCODING': 'gzip,deflate',
'PATH_INFO': u'/'}
答案 0 :(得分:7)
用request.META.items替换request.META。
答案 1 :(得分:3)
嗯,这很简单。
请求.META是一本字典,对吧?因此,如果你在dict上执行for循环,你就得到它的键。这就是你得到的。由于键是字符串(在您的示例中)并且字符串可以解压缩,因此它们的第一个和第二个项目(字符)将解压缩到a和b中。 然而,字典的items
方法产生了一个2元组的列表,每个元组分别被解压缩到a和b中。所以,正如你所说,它“有效”。