2017-10-04 17 views
1

を上げ、私は郵便配達からのデータをポストにthis-DjangoのRESTフレームワークの解析request.data Djangoのビューでエラー

@csrf_exempt 
@api_view(['GET', 'POST']) 
def EmployeeList(request): 

    if request.method == 'GET': 
     employees = PersonalInfo.objects.all() 
     serializer = PersonalInfoSerializer(employees, many=True) 
     return JsonResponse(serializer.data, safe=False) 

    elif request.method == 'POST': 
     data = JSONParser().parse(request) 
     print data 
     serializer = PersonalInfoSerializer(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" 
} 

を上げますあなたが要求I DRF使用する場合

AttributeError: 'QueryDict' object has no attribute 'read' 

答えて

1

data = JSONParser().parse(request)はこのエラーを取得しますS rest_framework.request.Requestrequestsのインスタンスが、rest_framework.parsersJSONParser.parserのためにあなたがパラメータとして送信する必要があります:django.core.handlers.wsgi.WSGIRequest、あなたがrequest._requestによって得ることができますが、私はあなたが必要だと思うのです:

serializer = PersonalInfoSerializer(data=request.data) 
関連する問題