這不是您的問題的答案,而是因爲您說您正在評估資產管理人員,這並不完全偏離主題。
我不太瞭解django壓縮機,但我個人發現其他資產管理器更容易/更好用。您可以從:http://www.djangopackages.com/grids/g/asset-managers/中選擇一個,具體取決於您的具體需求。我正在使用django-mediagenerator,它使用起來非常簡單但功能強大。首先,你在你的settings.py定義媒體包:
MEDIA_BUNDLES = (
('main.css',
'css/reset.css',
'css/design.css',
),
('main.js',
'js/jquery.js',
'js/jquery.autocomplete.js',
),
)
然後定義媒體處理路徑,也settings.py:
ROOT_MEDIA_FILTERS = {
'js': 'mediagenerator.filters.yuicompressor.YUICompressor',
'css': 'mediagenerator.filters.yuicompressor.YUICompressor',
}
- 你可以結合腳本,然後壓縮,合併成一個文件,給他們加上散列等等。
然後你只需要打電話:./manage.py generatemedia
和voila(好吧,不是很完美 - 你需要在settings.py中輸入更多的設置,但是沒有什麼難以理解的) 。
在它看起來像這樣的模板:
{% include_media 'main.css' media='screen,print' %}
<img src="{% media_url 'some/image.png' %}" />
正如你可以看到這是Django的壓縮機做法相反 - 這裏,你確定你的資產在settings.py前期,然後引用它們。
對不起,但我真的不明白這個問題; django-compressor會根據文件的mtime或根據其內容計算(用戶可定義)自動命名文件。如果您打算將靜態文件部署到CDN,他們實際上建議使用該文件的內容,因爲mtime可能會因當前正在使用的服務器而有所不同。無論哪種方式,更改文件將導致一個全新的文件名,所以實際上沒有緩存可以破解。 – 2012-02-03 22:27:17