【问题标题】:Django Rest test not giving XML as response but jsonDjango Rest 测试没有给出 XML 作为响应,而是给出了 json
【发布时间】:2015-07-30 23:45:56
【问题描述】:

这是我的看法

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,那么我会根据需要在 chrome 中获得 XML 作为响应。

但在我的测试中

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

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

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

【问题讨论】:

    标签: python json xml django django-rest-framework


    【解决方案1】:

    Response.data 属性保存未呈现的内容。您想访问 .content 以查看您呈现的 XML。

    【讨论】:

      猜你喜欢
      • 2018-07-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-10-01
      • 1970-01-01
      • 1970-01-01
      • 2012-06-04
      • 1970-01-01
      相关资源
      最近更新 更多