【问题标题】:django rest api: JSON parse error - No JSON object could be decodeddjango rest api:JSON 解析错误 - 无法解码 JSON 对象
【发布时间】:2016-07-21 21:16:11
【问题描述】:

我正在使用邮递员为我的 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"
}

当尝试打印我的 request.body 时,我得到以下信息:

------WebKitFormBoundaryrg1JNLvBOEfjkQAT
Content-Disposition: form-data; name="name"

Rubencito
------WebKitFormBoundaryrg1JNLvBOEfjkQAT
Content-Disposition: form-data; name="email"

rubencito@yahoo.com
------WebKitFormBoundaryrg1JNLvBOEfjkQAT--

这是邮递员截图:

【问题讨论】:

    标签: json django api rest


    【解决方案1】:

    好吧,您不是在发送 json,而是在发送带有名称/值对的常规 POST 请求。

    您需要将邮递员切换为“原始”格式并输入类似{"name": "X", "email":"Y"}的内容

    然后在 python 端,您可以将其读取为json.loads(request.body)

    【讨论】:

    • 我们如何在 django 视图中获取表单数据?
    猜你喜欢
    • 1970-01-01
    • 2015-03-29
    • 2018-10-16
    • 2014-05-17
    • 2018-08-14
    • 1970-01-01
    • 2023-03-12
    • 2017-10-20
    • 2016-11-05
    相关资源
    最近更新 更多