我有如下的观点:
from django.views.decorators.http import condition
def stream():
for i in range(0, 40):
yield " " * 1024
yield "%d" % i
time.sleep(1)
@condition(etag_func=None):
def view(request):
return HttpResponse(stream(), mimetype='text/html')
然而,它似乎根本没有流媒体。大约 40 秒后,所有数据都会在最后立即转储。我怎样才能让它正确冲洗?
为了使 http 流工作,您的中间件、WSGI 容器和 Web 服务器(如果您使用 nginx+apache2 syle 部署,还包括反向代理/负载平衡器)都必须支持它。禁用中间件并删除一些层,直到它起作用为止(任何进行缓存或设置 etag 的内容都已退出),然后将它们添加回来。我不知道你有什么堆栈,但 IIRC apache2 + mod_python 可以使用流式传输,尽管这不是服务 Django 的推荐方法。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)