AttributeError:'XMLParser'对象没有'charset'属性

0 投票
1 回答
777 浏览
提问于 2025-04-18 09:02

我在我的项目中有以下这个视图:

class MyView(ListAPIView):
    serializer_class = MySerializer
    queryset = MyModel.objects.all()
    paginate_by = 100
    filter_class = MyFilter
    renderer_classes = (XMLParser, )

但是当我发起获取请求的时候,却遇到了这个错误:

AttributeError :'XMLParser' object has no attribute 'charset'

这可能是什么问题呢?请帮帮我。

1 个回答

0

你正在往 renderer_classes 这个元组里添加一个 XMLParser。但是,Django Rest Framework 不知道该怎么处理这个东西。其实,你应该往 renderer_classes 里添加一个 XML 的渲染器,而不是 XML 的解析器

class MyView(ListAPIView):
    serializer_class = MySerializer
    queryset = MyModel.objects.all()
    paginate_by = 100
    filter_class = MyFilter
    renderer_classes = (XMLRenderer, )

如果你想添加一个 XML 的解析器,那么你需要设置 parser_classes 这个元组。

class MyView(ListAPIView):
    serializer_class = MySerializer
    queryset = MyModel.objects.all()
    paginate_by = 100
    filter_class = MyFilter
    parser_classes = (XMLParser, )

撰写回答