為了加快網(wǎng)站的加載速度,我們通常要多js和css進(jìn)行壓縮處理。這些js和css的壓縮工作如果都手動處理,費時費力。
Django Compressor 可以實現(xiàn)js/css的自動壓縮。Django Compressor在易用性方面做的非常好,按照 文檔 做簡單的設(shè)置后就可以正常工作。強(qiáng)烈建議大家去將文檔完整的看一遍(文檔很短)。
使用的時候,只需要將css/js放到 compress 標(biāo)簽中 Django Compressor 即可自動進(jìn)行處理。在debug模式時, Django Compressor 不會對做任何處理。在非debug模式時,Django Compressor會自動對js/css進(jìn)行壓縮,并將壓縮后的問題輸出到django的 STATIC_ROOT 目錄。所以請務(wù)必保證 STATIC_ROOT 目錄進(jìn)行了正確的設(shè)置。
| {% load compress %}{% compress <js/css> [<file/inline> [block_name]] %}<html of inline or linked JS/CSS>{% endcompress %}{% compress css %}<link rel="stylesheet" href="/static/css/one.css" type="text/css" charset="utf-8">{% endcompress %} |
coffeescript、less 支持
在開發(fā)階段coffeescript和less可以直接使用js來處理,在正式發(fā)布時處于加載速度的考慮需要預(yù)先編譯成js和css。 Django Compressor 提供 COMPRESS_PRECOMPILERS 設(shè)置,根據(jù)type類型進(jìn)行預(yù)處理。
| COMPRESS_PRECOMPILERS = ( ('text/coffeescript', 'coffee --compile --stdio'), ('text/less', 'lessc {infile} {outfile}'), ('text/x-sass', 'sass {infile} {outfile}'), ('text/x-scss', 'sass --scss {infile} {outfile}'),) |
新聞熱點
疑難解答
圖片精選