在 mod_wsgi 中,我通过运行函数 start_response() 发送标题,但所有页面内容都通过 yield/return 传递。有没有办法以类似于 start_response() 的方式传递页面内容?在处理分块数据时,使用 return.yield 语句非常严格。
例如
def Application():
b = buffer()
[... page code ...]
while True:
out = b.flush()
if out:
yield out
class buffer:
def __init__(self):
b = ['']
l = 0
def add(self, s):
s = str(s)
l += len(s)
b.append(s)
def flush(self):
if self.l > 1000:
out = ''.join(b)
self.__init__()
return out
我希望缓冲区在页面加载时输出内容,但仅在内容堆积到一定程度后才输出内容(例如,1000 字节)。