我从前端对象发送一个等于数组的属性。
在后端我需要从该数组中获取数据。
当我写 request.POST 时,我看到:
<QueryDict: {u'response[0][doc_id]': [u'14'], u'response[1][uuid]': [u'157fa2ae-802f-f851-94ba-353f746c9e0a'], u'response[1][doc_id]': [u'23'], u'response[1][data][read][user_ids][]': [u'9'], u'response[0][uuid]': [u'8a0b8806-4d51-2344-d236-bc50fb923f27'], u'response[0][data][read][user_ids][]': [u'9']}>
但当我写request.POST.getlist('response')或 request.POST.getlist('response []')我得
[]
request.POST.get('response')也不起作用(返回None)。
有什么问题?
答案 0 :(得分:1)
由于您没有response[]
或response
作为键,因此您可以使用文字字符串response[0][doc_id]
和response[1][uuid]
等。
如果您想使用这样的结构,您应该发送JSON而不是表单编码数据并访问json.loads(request.body)
。