一個簡單,好用的 django plugin
https://github.com/cyberdelia/django-pipeline
用途,用來產生,壓縮處理, css ,javascript 或是圖片,也可以自動處理 version (也有支援 git 喔) 可以搭配的工具很多,SAAS,LESS,或是 Coffee Script 都 OK,有沒有開始傻笑了 ;-)
Compressors
YUI Compressor compressor (這個是預設的)
Closure Compiler compressor
UglifyJS compressor
JSMin compressor
CSSTidy compressor
Write your own compressor class
Compilers
Coffee Script compiler
LESS compiler
SASS compiler
Stylus compiler
Write your own compiler class
拜託,要用時,還是看一下文件,及 source code
文件 http://django-pipeline.readthedocs.org/en/latest/index.html
EXAMPLE: 我先假設,用的是
Django 1.3.1
settings.py INSTALLED_APPS 有 ‘django.contrib.staticfiles’,把 ‘pipeline’,也加到 INSTALLED_APPS 裡
yuicompressor-2.4.7.jar 我放到 project 資料夾的 pkgs 目錄下面
在 Debian 上面有安裝 openjdk-7-jdk
PIPELINE_JS 的部份,依此類推
settings.py 部份
PROJECT_ROOT = BASE_DIR = os.path.abspath(os.path.dirname(file))我的 base.html 裡的部份
INSTALLED_APPS = (
‘pipeline’, # 這個要有,當然還有其他你要的
)
# django-pipeline
PIPELINE_YUI_BINARY = ‘java -jar ’ + os.path.join(PROJECT_ROOT, ‘pkgs/yuicompressor-2.4.7.jar’)
PIPELINE_VERSION = True
PIPELINE_CSS = {
‘main’: {
‘source_filenames’: (
‘css/style.css’, # 後面可以加很多
),
‘output_filename’: ‘css/pipeline_r?.css’,
’extra_context’: {
‘media’: ‘screen,projection’,
},
},
# other CSS groups goes here
}
……
{% load compressed %}
……
…..
{% compressed_css ‘main’ %}
…..
…
..
覺的不合用,看更多 Django asset-managers
http://djangopackages.com/grids/g/asset-managers/