我创建了一个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)"
最佳答案
问题是您使用form-data
作为输入,而应该使用application/json
。
但是,您也可以修复项目的设置文件以接受表单数据。您需要在项目的FormParser
中的DEFAULT_PARSER_CLASSES
中添加settings.py
。它看起来应该像这样:
REST_FRAMEWORK = {
'DEFAULT_PARSER_CLASSES': (
'rest_framework.parsers.JSONParser',
'rest_framework.parsers.FormParser',
)
}