将实时命令行输出重定向到Django HttpResponse
在执行一个比较长的命令,比如解压一个很大的.zip文件时,怎么把unzip命令的实时输出通过Django的HttpResponse发送到浏览器呢?
编辑:根据paul的建议,我查了一下,发现这个问题有答案,讲的是怎么用生成器返回HttpResponse。
现在,剩下的问题是怎么捕捉unzip的输出,并从中创建一个生成器。
1 个回答
1
HttpResponse的构造函数可以接收一个字符串或者一个可迭代对象。
如果你想逐步输出内容,可以把这个可迭代对象做成一个生成器。
当然,这样做的前提是你的中间件没有干扰到它。