我有StreamingHttpResponse,它在brower中下载csv文件。
现在我想在测试案例中使用这个
response = self.client.get('/lusers/?&export=csv')response是StreamingHttpResponse
如何从此生成csv文件(不是通过浏览器)
检查一下里面的东西?
self.assertContains(response, "dataincsv")发布于 2022-05-02 09:25:08
您可以像这样从StreamingHttpResponse中生成文本字符串:
str_response = '\n'.join(s.decode('U8') for s in response)或
str_response = '\n'.join(map(lambda s: s.decode('U8'), iter(response)))并检查内容如下:
self.assertContains(str_response, "dataincsv")StreamingHttpResponse是可迭代对象,您可以以任何需要的方式迭代这个对象。
例如,如果您想要写入文件,可以执行以下操作:
# ...
for line in response:
some_file.write(line)
# ...https://stackoverflow.com/questions/72084319
复制相似问题