如果我实现了StreamingHttpResponse as shown here,直到10秒后才会显示'streaming‘响应。关于djangoproject的信息不多,只是说它对生成大型CSV文件很有用,同时警告说,昂贵的任务应该在请求-响应周期之外执行。
然而,我看不到它在使用时间密集型代码时是完全有效的。是不是生成器对象有什么东西阻止了这一点?下面是复制的代码以供参考。
import time
from django.http import StreamingHttpResponse
def stream_response(request):
resp = StreamingHttpResponse(stream_response_generator())
return resp
def stream_response_generator():
for x in range(1,11):
yield '{} <br />\n'.format(x)
time.sleep(1)发布于 2014-11-20 21:37:52
OP的解决方案转换为下面的答案
Pavel的评论指出,我的例子的问题是浏览器的缓冲,这是通过修改发送的数据量来解决的,例如
yield '{} <br /> {}'.format(x, ' '*1024)https://stackoverflow.com/questions/15359768
复制相似问题