Django Rest测试不给出XML作为响应,而是给出json



这是我的观点

from rest_framework_xml.renderers import XMLRenderer
@api_view(['GET', 'PUT', 'POST'])
@renderer_classes((XMLRenderer,))
@permission_classes((AllowAny,))
def users(request, id, format=None):
    serializer = MySerializer(model,  context={'request': request})
    return Response(serializer.data)

如果我通过浏览器访问URL,那么我得到XML作为chrome浏览器的响应。

但在我的测试

url = reverse('user-detail', kwargs={
    'id': 10,
})
response = self.client.get(url)
result = response.data

我得到的结果是dictionary。我的意思是在传递到XMLRender之前得到的结果。

我不知道这是否理想的行为,但如何测试xml响应

响应的.data属性保存未呈现的内容。您希望访问.content以查看呈现的XML。

最新更新