我使用Postman + Django rest框架在本地創建Post請求,但我不斷收到一個ParseError。我的Get請求工作正常,但發佈請求沒有按預期工作。無法發送郵寄請求使用郵遞員與Django
JSON parse error - Expecting ',' delimiter: line 3 column 2 (char 37)
我甚至沒有得到在代碼中定義的400錯誤,郵差返回500內部服務器錯誤消息。
這裏是我的photo_list views.py:
from django.http import HttpResponse, JsonResponse
from django.views.decorators.csrf import csrf_exempt
from rest_framework.renderers import JSONRenderer
from rest_framework.parsers import JSONParser
from .models import Photo
from .serializers import PhotoSerializer
@csrf_exempt
def photo_list(request, pk=0):
"""
List all photos, or create a new one.
"""
if request.method == 'GET':
if int(pk) > 0: # convert pk to an int then check if it is greater than zero
photo = Photo.objects.get(pk=pk)
serializer = PhotoSerializer(photo, many=False)
return JsonResponse(serializer.data, safe=False)
photos = Photo.objects.all()
serializer = PhotoSerializer(photos, many=True)
return JsonResponse(serializer.data, safe=False)
elif request.method == 'POST':
data = JSONParser().parse(request)
serializer = PhotoSerializer(data=data)
if serializer.is_valid():
serializer.save()
return JsonResponse(serializer.data, status=201)
return JsonResponse(serializer.errors, status=400)
謝謝。這也工作。 – MaxRah