問題描述
PUT API 中的 Django Rest Framework 解析錯誤 (Django Rest Framework parse error in PUT API)
我正在使用 DRF (Django Rest Framework) 開發 API,但出現以下錯誤。
rest_framework.exceptions.ParseError: JSON parse error ‑ Expecting value: line 1 column 1 ( char 0)
我根據 文檔
下面是我的代碼
def blog_detail(request, pk):
try:
single_blog = Blog.objects.get(pk=pk)
except Blog.DoesNotExist:
return HttpResponse(status=404)
if request.method == "GET":
if pk:
serializer = BlogSerializer(single_blog)
return JsonResponse(serializer.data, safe=False)
if request.method == "PUT":
data = JSONParser().parse(request)
serializer = BlogSerializer(single_blog, data=data)
if serializer.is_valid():
serializer.save()
return JsonResponse(serializer.data)
return JsonResponse(serializer.errors, status=400)
在上面的代碼中,GET 工作正常 PUT 有一些錯誤。我正在使用 Postman 訪問 API
參考解法
方法 1:
Using PostMan, use the raw
tab, specify you're using JSON
data, and paste your JSON data. This should do the trick.
(by Abhijit Kumbhar、Jordan Kowal)