我有这样的输出。
data = <QueryDict: {u'product_name': [u'L4'], u'price': [u''], u'product_description': [u''], u'id': [u"[u'1']"], u'product_status': [u'1']}>
老实说,我不知道输出是怎么样的,但如果我想获得id。
我使用了类似(data['id'][0])
之类的内容,但这并没有得到我的任何内容,如果我使用(data['id'])
这就是我得到的u'[u\\'1\\']
当我发布这种数据时,我遇到了这样的错误
invalid literal for int() with base 10: '['
答案 0 :(得分:0)
您需要将其转换为普通字典,如下所示:
my_dict = dict(data.iterlists())
现在,您应该能够my_dict['id'][0]
您可以使用ast.literal_eval()
来解决问题,但正如@Daniel所述,您可能需要修复数据来源。
>>> import ast
>>>
>>> id = ast.literal_eval("[u'1']")
>>>
>>> id
[u'1']
>>> id[0]
u'1'
答案 1 :(得分:0)
您可能正在尝试使用request.data
读取数据。您应该尝试request.POST
。
因此,在您的情况下,要阅读product_name,您可以执行以下操作:request.POST['product_name']
以及其他字段。