我创建了一个Django Api。我使用rest_framework.generics.CreateAPIView进行发布。在默认浏览器中效果很好。但是,当我使用邮递员时,它将引发错误。

views.py

class AuthorCreateAPIView(CreateAPIView):
  queryset = Author.objects.all()
  serializer_class = AuthorCreateUpdateSerializer


serializers.py

class AuthorCreateUpdateSerializer(ModelSerializer):
  class Meta:
  model = Author
  fields = [
    'name',
    'biography',
  ]


错误:"detail": "JSON parse error - Expecting value: line 1 column 1 (char 0)"

django - Django Rest Framework + Postman + JSON解析错误-LMLPHP

最佳答案

问题是您使用form-data作为输入,而应该使用application/json

但是,您也可以修复项目的设置文件以接受表单数据。您需要在项目的FormParser中的DEFAULT_PARSER_CLASSES中添加settings.py。它看起来应该像这样:

REST_FRAMEWORK = {
    'DEFAULT_PARSER_CLASSES': (
        'rest_framework.parsers.JSONParser',
        'rest_framework.parsers.FormParser',
    )
}

08-04 15:12