将实时命令行输出重定向到Django HttpResponse

4 投票
1 回答
831 浏览
提问于 2025-04-15 16:11

在执行一个比较长的命令,比如解压一个很大的.zip文件时,怎么把unzip命令的实时输出通过Django的HttpResponse发送到浏览器呢?

编辑:根据paul的建议,我查了一下,发现这个问题有答案,讲的是怎么用生成器返回HttpResponse。

每隔几秒更新HttpResponse

现在,剩下的问题是怎么捕捉unzip的输出,并从中创建一个生成器。

1 个回答

1

HttpResponse的构造函数可以接收一个字符串或者一个可迭代对象。

如果你想逐步输出内容,可以把这个可迭代对象做成一个生成器。

当然,这样做的前提是你的中间件没有干扰到它。

撰写回答