2012-05-05 25 views
0

我知道,這是更好地使用類似AWS的靜態文件,但我是在發展階段,我希望有在本地主機上的JavaScript/CSS文件的CSS文件。Gzip已對JS/Django上

這將是巨大的,如果我能得到的gzip我的JavaScript文件的工作進行測試。我正在使用默認的gzip中間件,但它只是壓縮視圖請求。

我的模板是這樣的:

<script src='file.js' type='application/javascript'></script> 

應該有類似的Nginx的基於Django的服務器一個類型的文件列表。如何爲gzip壓縮添加application/javascript,text/javascript等?

+0

看看http://stackoverflow.com/questions/7576449/django-how-can-i-gzip-staticfiles-served-in-dev-mode –

+0

謝謝@ReetAebersold!我這樣做,它的工作現在 – frank

回答

2

您應該閱讀GZipMiddleware文檔,其中解釋說,當「Content-Type標頭包含javascript或以非text /開頭的任何內容開始時,中間件不會壓縮響應」。

編輯:

爲了澄清文件說什麼,如果Content-Type頭值包含javascript或不text/開始,那麼響應將不會被壓縮。這意味着text/javascriptapplication/javascript將是無效響應,因爲它們匹配javascript

這些限制是中間件本身強加的,但你仍然可以通過用gzip_page()修飾器包裝靜態文件視圖處理程序並手動將其添加到URL配置中來規避這種限制。

+0

我試圖用文本/ javascript和它不工作 – frank

+0

@frank我已經與一些澄清的文件說什麼更新的答案,以及如何避免與建議的解決方案的響應壓縮限制形成文檔。 –

+0

謝謝。我跟着這些指示:http://stackoverflow.com/questions/7576449/django-how-can-i-gzip-staticfiles-served-in-dev-mode – frank

0

在您使用開發Django的內置的Web服務器,該服務器是非常簡單的,沒有比你可以看到任何其他選項./manage.py help runserver

你的選擇是要麼建立一個真正的網絡服務器或使用staticfiles應用程序與自定義StaticFilesStorage

但老實說,這是矯枉過正,爲什麼要測試gzip壓縮?

+0

我需要下載在幾秒鐘內大文件。 – frank

+0

可能是你可以做的,然後完全繞過任何Web服務器,並通過設置STATIC_URL指向你的靜態文件夾通過文件系統來告訴瀏覽器直接訪問你的靜態文件,這是更快,你可以得到。 –