首页 > 解决方案 > Django Rest Framework + Postman + JSON 解析错误

问题描述

我创建了一个 Django Api。我使用 rest_framework.generics.CreateAPIView 发布。它在默认浏览器中运行良好。但是当我使用 Postman 时,它会引发错误。

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)"

邮递员视图

标签: djangopython-3.xdjango-rest-frameworkpostmanjsonparser

解决方案


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

但是,您也可以修复项目的设置文件以接受表单数据。您需要添加FormParserDEFAULT_PARSER_CLASSES您项目的settings.py. 它应该如下所示:

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

推荐阅读