2013-05-28 34 views
3

我已啓用django.middleware.gzip.GZipMiddleware。 它提供模板gzipping。django無法在heroku上提供gzip

Django的壓縮機被設置爲COMPRESS_STORAGE = 'compressor.storage.GzipCompressorFileStorage'

當地一切正常。靜態css和js資產被壓縮並分割成一個文件和gzipped,html響應是gzipped頁面,但部署在heroku上,它不起作用。 Django壓縮機甚至不會在其文件夾中創建.gz版本。

今天,我可以擺脫壓縮機,並預先構建gss的CSS和JS。但它看起來很奇怪。至少中間件的requirements得到滿足。

UPD

好吧,我本地化問題的一部分。出於某種原因,我的代理未配置爲處理壓縮內容。所以GZipMiddleware就像它應該那樣工作。 django壓縮機仍有待測試。

UPD2

畢竟一切正常。與壓縮機的問題是,只要我能理解的AWS_IS_GZIPPED = True settings.py中

回答

0

由於缺少看看這裏(部署到Amazon S3後):https://mike.tig.as/blog/2012/02/13/deploying-django-on-heroku/ - 具體爲:

雪松「herokuapp。 com「HTTP堆棧直接將請求連接到後端以獲得靈活性(例如WebSocket等),但不提供gzip或緩衝請求。 (事實上​​,Heroku的Django的 文檔提到使用gunicorn + GEVENT,但在相關的例子並不實際配置 GEVENT。)

+2

繼https://devcenter.heroku.com/articles/http-routing #gzip-response,「任何壓縮的響應必須在你的應用程序中完成」。這就是我想要做的... – nicorevin