為了加快網站的載入速度,我們通常要多js和css進行壓縮處理。這些js和css的壓縮工作如果都手動處理,費時費力。
Django Compressor 可以實現js/css的自動壓縮。 Django Compressor在易用性方面做的非常好,按照 文件 做簡單的設定後就可以正常工作。強烈建議大家去將文檔完整的看一遍(文檔很短)。
使用的時候,只需要將css/js放到 compress 標籤中 Django Compressor 即可自動處理。在debug模式時, Django Compressor 不會對做任何處理。在非debug模式時,Django Compressor會自動對js/css進行壓縮,並將壓縮後的問題輸出到django的 STATIC_ROOT 目錄。所以請務必保證 STATIC_ROOT 目錄進行了正確的設定。
{% load compress %}
{% compress
{% endcompress %}{%compress compress css %}
coffeescript、less 支援
在開發階段coffeescript和less可以直接使用jseescript、less 支援
在開發階段coffeescript和less可以直接使用js來處理,在正式發佈時處於載入速度的考慮需要預先編譯成js和css。 Django Compressor 提供 COMPRESS_PRECOMPILERS 設置,根據type類型進行預處理。
COMPRESS_PRECOMPILERS = (
('text/coffeescript', 'coffee --compile --stdio'),
('text/less', 'lessc {infile} {outfile}'), () sass', 'sass {infile} {outfile}'),
('text/x-scss', 'sass --scss {infile} {outfile}'),
)
{% if not COMPRESS_ENABLED %}
. endif %}