我会要求一些我在Stackoverflow上找不到的东西。我正在做一些Django,我最近发现我可以使用生成器流式传输HTTP输出。对于正常情况,页面的输出是完美的,但是我想使用GZip压缩来流式传输页面输出。
我尝试过使用简单的zlib.compress函数,但没有用。该函数生成小的gzip文件。
我希望在处理数据时返回小块数据,作为字符串。这些块应该构成Gzipped文件的内容。如何做到这一点呢?谢谢。
发布于 2011-04-27 06:39:03
使用zlib.compressobj([level])
、Compress.compress(string)
和Compress.flush([mode])
完成
import zlib
def compress(chunks):
c = zlib.compressobj()
for chunk in chunks:
yield c.compress(chunk)
yield c.flush(zlib.Z_FINISH)
发布于 2011-04-27 06:32:49
压缩内容是not服务器的属性,而不是框架的属性。如果你使用的是apache,你可以使用mod_deflate。我希望你指的不是django提供的用于测试purposes.If的简单服务器。这样做,然后简单地查看术语gzip
的代码,看看它是否做了任何类型的压缩。
此外,如果您正在考虑在app server中压缩,请注意,最好将此作业移动到web服务器。
https://stackoverflow.com/questions/5797214
复制相似问题