Django/Python中是否有类似PHP flush()的函数,允许我将部分HTTP响应发送给客户端?
根据Yahoo的性能建议:
当用户请求一个页面时,后端服务器可能需要200到500毫秒的时间来拼凑出这个HTML页面。在这段时间里,浏览器处于闲置状态,因为它在等待数据到达。在PHP中,有一个叫做flush()的函数。这个函数可以让你把部分准备好的HTML响应发送给浏览器,这样浏览器就可以开始加载一些组件,而你的后端仍然在忙着处理剩下的HTML页面。
示例:
... <!-- css, js -->
</head>
<?php flush(); ?>
<body>
... <!-- content -->
在Django/Python中,有没有类似于PHP的flush()
的函数?
谢谢
3 个回答
2
你可以用 yield
来返回部分结果,而不是用 return
来返回全部结果。
2
http://www.evanfosmark.com/2008/06/simple-output-buffering-in-python/ - 这是一篇关于这个主题的好文章。使用里面提供的任一选项都能满足你的需求。
2
不,可以直接回答。
详细的回答要看你在网络服务器和Python之间使用了什么:你可以用WSGI来实现,但这不是一件简单的事情。
也许可以从这里开始了解一下?http://www.python.org/dev/peps/pep-0333/#the-start-response-callable