gpt4 book ai didi

python - django.test.Client 和 response.content 与 streaming_content

转载 作者:太空狗 更新时间:2023-10-30 01:15:06 24 4
gpt4 key购买 nike

我有一个使用 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 the streaming_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/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com