使用django-compressor压缩混淆静态文件

使用django-compressor压缩混淆静态文件

使用django-compressor压缩混淆静态文件

django-compressor可以把js/css等静态文件压缩,这样有利于减少网站的请求次数,还能节省网络带宽。 下面介绍下如何在django中集成django-compressor

安装django-compressor

安装很简单,pip安装下就可以了:
pip install django-compressor
然后在'setting'的INSTALLED_APPS中添加

INSTALLED_APPS = [
#other
'compressor'
]

setting配置

首先确保django.contrib.staticfiles已经包含在INSTALLED_APPS中,django1.6及以上版本是默认包含该app在其中的.

指定STATIC_URL

STATIC_ROOT = os.path.join(SITE_ROOT, 'collectedstatic')
STATIC_URL = '/static/'
STATICFILES = os.path.join(BASE_DIR, 'static')

STATIC_URL是客户端访问静态资源的根路径 配置STATICFILES_FINDERS:

STATICFILES_FINDERS = (
'django.contrib.staticfiles.finders.FileSystemFinder',
'django.contrib.staticfiles.finders.AppDirectoriesFinder',
#other
'compressor.finders.CompressorFinder',
)

添加django-compressor配置:

COMPRESS_ENABLED = True
COMPRESS_OFFLINE = True
COMPRESS_CSS_FILTERS = [
#creates absolute urls from relative ones
'compressor.filters.css_default.CssAbsoluteFilter',
#css minimizer
'compressor.filters.cssmin.CSSMinFilter'
]
COMPRESS_JS_FILTERS = [
'compressor.filters.jsmin.JSMinFilter'
]

使用

使用也很简单,如下:

{% load compress %}
{% compress css %}
<link rel='stylesheet' href='{% static 'blog/css/style.css' %}' type='text/css'/>
{% endcompress %}
{% compress js %}
<script type="text/javascript" src="{% static 'blog/js/jquery-3.1.1.js' %}"></script>
{% endcompress %}

分别是css和js的使用方式

05-28 00:14