我想在 django views.py 文件中解析传入的 POST 数据
POST 数据:
{
"number" : "17386372",
"data" : ["banana","apple","grapes" ]
}
下面是我尝试使用 request
View .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
请您参考如下方法:
Django json 解析器已经为您做了这些:
from rest_framework import parsers
class Fruits(APIView):
parser_classes = (parsers.JSONParser,)
def post(self, request, format=None):
number = request.data['number']
fruits = request.data['data']
如果您的 http 请求的 Content-Type 已经正确设置为 application/json,您甚至不需要指定解析器。
