我正在使用django rest框架开发api,并且正在编写一些单元测试来检查关键操作。我在尝试执行获取请求后读取文件的内容
downloaded_file = self.client.get(textfile)
Run Code Online (Sandbox Code Playgroud)
问题是返回的对象类型为:django.http.response.FileResponse,它继承自StreamingHttpResponse。
我正在尝试遍历streaming_content属性,该属性应该是迭代器,但是我无法进行迭代,没有方法next()。
我检查了这个对象,得到的是地图对象。关于如何从此请求中获取内容的任何想法?
编辑:
问题解决了
返回的对象是一个映射,一个映射具有一个函数和一个可迭代的对象:
https://docs.python.org/3.4/library/functions.html#map
我要做的是将地图转换为列表,访问列表的第一个元素,然后从字节转换为字符串。不是很优雅,但可以。
list(response.streaming_content)[0].decode("utf-8")
Run Code Online (Sandbox Code Playgroud)