- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我有一个使用 Django test client 访问网页的 Django 测试.
在其中一项测试中,服务器返回一个 ZIP 文件作为附件。我使用以下代码访问 ZIP 文件的内容:
zip_content = StringIO(response.content)
zip = ZipFile(zip_content)
这会导致以下弃用警告:
D:/Developments/Archaeology/DB/ArtefactDatabase/Webserver\importexport\tests\test_import.py:1: DeprecationWarning: Accessing the
content
attribute on a streaming response is deprecated. Use thestreaming_content
attribute instead.`
response.streaming_content
返回某种 map ,这绝对不是 ZipFile
所需的类文件对象。我如何为此使用 streaming_content
属性?
顺便说一句,当我将 response.content
传递给 StringIO
时,我只会收到弃用警告,当我访问普通 HTML 页面的 response.content 时,没有警告.
最佳答案
使用 Python 3.4。
用字符串:
zip_content = io.StringIO("".join(response.streaming_content))
zip = ZipFile(zip_content)
带字节:
zip_content = io.BytesIO(b"".join(response.streaming_content))
zip = ZipFile(zip_content)
解决方案在 https://github.com/sio2project/oioioi/blob/master/oioioi/filetracker/tests.py 的 TestStreamingMixin 中找到
另见: https://docs.djangoproject.com/en/1.7/ref/request-response/
您可能想通过检查 response.streaming
( bool 值)来测试响应是否为流。
关于python - django.test.Client 和 response.content 与 streaming_content,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24626668/
我正在使用 django rest 框架开发一个 api,我正在编写一些单元测试来检查关键操作。我在执行获取请求后尝试读取文件的内容 downloaded_file = self.client.get
我有一个使用 Django test client 访问网页的 Django 测试. 在其中一项测试中,服务器返回一个 ZIP 文件作为附件。我使用以下代码访问 ZIP 文件的内容: zip_cont
我是一名优秀的程序员,十分优秀!