【发布时间】:2017-03-19 17:51:07
【问题描述】:
我想在 django views.py 文件中解析传入的POST 数据
发布数据:
{
"number" : "17386372",
"data" : ["banana","apple","grapes" ]
}
这是我尝试使用request 读取上述传入数据的方式
views.py
class Fruits(APIView):
def post(self, request, format=None):
if request.method == "POST":
number = request.data.get('number')
fruits_data = json.loads(request.body)
if number not in [None, '', ' ']:
try:
response = {"return": "OK","data":fruits_data['data']}
return Response(response)
except:
return Response({"return": "NOT OK"})
else:
return Response({"return": "NOT OK"})
else:
return Response({"return": "NOT OK"})
错误:
You cannot access body after reading from request's data stream
【问题讨论】:
-
选项1:首先
json.loads,然后提取'number'。选项 2:from copy import deepcopy和my_copy = deepcopy(request)在破坏原始对象之前。
标签: python arrays json django django-rest-framework