user3214546
user3214546

Reputation: 6831

Django Rest test not giving XML as response but json

This is my view

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)

If i visit the URL by browser then i get XML as response in chrome as desired.

But in my tests

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

I get the result as dictionary . I mean the result which i get before passing to XMLRender.

I don't know if thats the desired behaviour but how can test the xml response

Upvotes: 0

Views: 667

Answers (1)

Mark Galloway
Mark Galloway

Reputation: 4141

The .data property of the Response holds the unrendered content. You want to access .content to see your rendered XML.

Upvotes: 2

Related Questions