我正在使用邮递员为我的django视图创建一个POST请求
@csrf_exempt @api_view(['POST']) def create_user(request): data = JSONParser().parse(request) serializer = CaretakerSerializer(data=data) if serializer.is_valid(): serializer.save() return JSONResponse(serializer.data, status=201) return JSONResponse(serializer.errors, status=400)
但是我收到以下错误:
{ "detail": "JSON parse error - No JSON object could be decoded" }
当我试图打印我的请求时,我得到以下内容:
------WebKitFormBoundaryrg1JNLvBOEfjkQAT Content-Disposition: form-data; name="name" Rubencito ------WebKitFormBoundaryrg1JNLvBOEfjkQAT Content-Disposition: form-data; name="email" rubencito@yahoo.com ------WebKitFormBoundaryrg1JNLvBOEfjkQAT--
这是邮差截图:
好吧,你没有发送json,你正在发送带有名称/值对的常规POST请求.
您需要将邮差切换为"原始"格式并输入类似的内容 {"name": "X", "email":"Y"}
然后在python端你可以读它 json.loads(request.body)