2013-03-06 112 views
1

關於Django Compressor的一些事情我不清楚。

1)我應該只在開發環境中使用它嗎?如果不是這樣,是否意味着即使在生產環境中,它也會在每次請求時壓縮和聚合靜態js/css文件?

2)是否有可能將內部的CSS網址更改爲圖像?我的意思是,例如: Django壓縮機和部署

body{ 
    background: #2b2925 url('http://localhost:8000/static/img/MyBG.png'); 
} 

這當然不會對PROD環境中工作。我應該使用compressor更改生產服務器上的此URL還是應該使用其他方法?例如。解析並在部署期間用Fabric腳本代替?

回答

1

沒有理由在本地提供靜態文件應用程序在絕對URL上提供的文件。您可以簡單地使用文件的相對路徑。這將解決您需要重新編寫本地與生產路徑的問題。

因此,例如使用:給你的目錄結構

body { 
    background: #2b2925 url('../img/MyBG.png'); 
} 

的相對路徑可能會有所不同。

Compressor將只壓縮其m倍不同的文件,這意味着除非文件已更改,否則不會在每個請求中重新壓縮文件。

+0

請考慮我將始終在本地編輯我的文件(從不遠程),然後我將它們推送到遠程服務器。 如果我在本地編輯和壓縮文件,那麼這意味着我會將它們部署到已經壓縮的生產中。那麼,我是否需要(以及爲什麼)壓縮機應用程序也可以在生產環境中運行? – Leonardo 2013-03-06 18:05:31

+0

如果你要預先壓縮它們,那麼不需要,你不需要在生產中運行它。我用Less文件做同樣的事情。我在本地預編譯它們,然後只部署縮小的CSS,然後由壓縮器進行壓縮。 – Brandon 2013-03-06 18:09:59