Python Django在视图文件中没有值名的情况下迭代dict
我正在使用Django python 2.7,从一个特定的网页上,我收到了以下请求 当我执行以下操作时:Python Django在视图文件中没有值名的情况下迭代dict,python,django,Python,Django,我正在使用Django python 2.7,从一个特定的网页上,我收到了以下请求 当我执行以下操作时: for key in request.POST[‘items purchased’] print key 它打印出从第一个“{”到最后一个“}”的所有内容。我只想要价值观 如何执行for循环并获取每个键3和14的所有值 我在许多其他地方寻找过答案,但我没有找到有效的答案。我没有值的键或值名称 ****编辑***** request.POST已发送到字典中的模板。它没有被修改,所以我
for key in request.POST[‘items purchased’]
print key
它打印出从第一个“{”到最后一个“}”的所有内容。我只想要价值观
如何执行for循环并获取每个键3和14的所有值
我在许多其他地方寻找过答案,但我没有找到有效的答案。我没有值的键或值名称
****编辑*****
request.POST已发送到字典中的模板。它没有被修改,所以我只是把它发送到另一个视图。我不知道它是以字符串的形式发送的。对不起,伙计们
我用了另一种方法。声明了一个全局字典并使用了该字典。听起来您需要dictionary.values
如果要从dict值中获取每个值:
>>> dicty = {1: ['one1', 'one2'], 2: ['two1', 'two2']}
>>> for i in dicty.values():
... for x in i:
... print x
one1
one2
two1
two2
这里是关于你在问题中给出的内容:
from decimal import Decimal
x = {3: [1, Decimal('15.23'), 'Effective Java', Decimal('15.23')], 14: [1, Decimal('34.65'), 'Microsoft Office 2013', Decimal('34.65')]}
=> None
for i in x.values():
.. print i
..
[1, Decimal('15.23'), 'Effective Java', Decimal('15.23')]
[1, Decimal('34.65'), 'Microsoft Office 2013', Decimal('34.65')]
for i in x.values():
.. for y in i:
.. print y
..
1
15.23
Effective Java
15.23
1
34.65
Microsoft Office 2013
34.65
value request.POST['items purchased']是一个字符串,而不是一个Python字典,您可以通过打印typerequest.POST['items\u purchased']进行检查。将字符串转换回字典很棘手。另一种选择是在发出web请求之前将数据转换为json,然后使用json.loads将其转换回Python对象。谢谢。我得到以下错误:“unicode”对象没有属性“值”,我不知道为什么会这样。我刚刚在我的示例中添加了您的确切代码。。。我给出的解决方案很有效。您提供的错误似乎表明您正在尝试循环字符串。@NotAnAmbiTurner-阅读问题的答案。
>>> dicty = {1: ['one1', 'one2'], 2: ['two1', 'two2']}
>>> for i in dicty.values():
... for x in i:
... print x
one1
one2
two1
two2
from decimal import Decimal
x = {3: [1, Decimal('15.23'), 'Effective Java', Decimal('15.23')], 14: [1, Decimal('34.65'), 'Microsoft Office 2013', Decimal('34.65')]}
=> None
for i in x.values():
.. print i
..
[1, Decimal('15.23'), 'Effective Java', Decimal('15.23')]
[1, Decimal('34.65'), 'Microsoft Office 2013', Decimal('34.65')]
for i in x.values():
.. for y in i:
.. print y
..
1
15.23
Effective Java
15.23
1
34.65
Microsoft Office 2013
34.65