登录        注册
本站基于Django开发,源码 Github 欢迎 Fork、Star。由于站点升级导致评论区留言信息丢失,欢迎前来发表新的评论

Django 压缩静态文件提升网站流畅度

Django stormsha 202浏览 6喜欢 7评论

网站JS,CSS等静态资源文件对于访问量大的网站来说不仅浪费带宽,而且也影响网站的访问速度。django-compressor 可以将静态文件压缩合并成一个文件,不仅减少了网站的请求次数,还能节省网络带宽

安装django_compressor

For windows

$ pip  install wheel==0.29.0

$ pip install rcssmin==1.0.6 --install-option="--without-c-extensions"

$ pip install rjsmin==1.0.12 --install-option="--without-c-extensions"

$ pipinstall django_compressor==2.0

For Ubuntu:

$ pip install django_compressor==2.0

在Django项目中添加 Django-Compressor

Django-Compressor 开启与否取决于DEBUG参数,默认是COMPRESS_ENABLED与DEBUG的值相反。因为Django-Compressor的功能本身是用在生产环境下项目发布前对静态文件压缩处理的。因此想在开发阶段(DEBUG=True)的时候做测试使用,需要手动设置COMPRESS_ENABLED=True

# 默认状态 COMPRESS_ENABLED=False,因为生产环境 DEBUG=False
# 只有在生产环境才有压缩静态资源的需求
# 如果是开发环境就主动开启压缩功能、开启手动压缩功能
if DEBUG:
    COMPRESS_ENABLED = True # 开启压缩功能
    COMPRESS_OFFLINE = True # 开启手动压缩
else:
    DEBUG_PROPAGATE_EXCEPTIONS = True
INSTALLED_APPS = (
    # other apps
    "compressor",
)
STATICFILES_FINDERS = (
    'django.contrib.staticfiles.finders.AppDirectoriesFinder',
    'django.contrib.staticfiles.finders.FileSystemFinder',
    'compressor.finders.CompressorFinder',)
<!--需要引入静态文件的文件顶部load compress -->
{% load compress %}
{% compress css %}
<link href="{% static "css/bootstrap.min.css" %}" rel="stylesheet">
<!--其它css文件-->
{% endcompress %}
{% compress js %}
<script src="{% static "js/jquery-1.10.2.js" %}"></script>
<!--其它js文件-->
{% endcompress %}
# 可以收集项目下的所有的静态资源包括settings.py引入的第三方应用使用的静态文件,一般使用nginx托管静态文件的话,这里还是收集一下,全部使用项目下的static静态文件资源夹
$ python manage.py collectstatic 
# 如果需要在本地压缩,需要在settings.py中添加 COMPRESS_OFFLINE=True才能执行下边命令手动压缩
$ python manage.py compress

压缩后页面效果

# 压缩后页面加载静态文件
<link rel="stylesheet" href="/static/CACHE/css/f18b10165eed.css" type="text/css">
<script type="text/javascript" src="/static/CACHE/js/9d1f64ba50fc.js"></script>

参考文章:https://www.cnblogs.com/skying555/p/5972735.html

转载请注明: StormSha » Django 压缩静态文件提升网站流畅度

发表我的评论

表情
(1)个小伙伴在吐槽|7条评论
  1. 注册用户头像

    stormsha 「博主」 2019年10月27日 20:11 回复
  1. 注册用户头像

    由于站点升级导致以前的评论数据丢失

    stormsha 「博主」 2019年10月27日 14:33 回复