【发布时间】:2013-02-27 21:07:05
【问题描述】:
如果我实现 StreamingHttpResponse as shown here,则在 10 秒结束之前不会显示“流式传输”响应。关于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)
【问题讨论】:
-
您的 100 个字节,无论是否流式传输,都绝对会在网络的最低级别进行缓冲。尝试一百万行作为开始。
-
@Pavel 谢谢你 - 我在产量字符串中添加了 ' '*1024 ,它可以按需要工作
标签: django django-views