将链接的和内联的javascript或css压缩到单个缓存文件中。
django-compressor的Python项目详细描述
Django压缩机加工、组合和缩小连接和内联 将django模板中的javascript或css放入可缓存的静态文件中。
它支持coffeescript、less和sass等编译器 可通过自定义处理步骤扩展。
Django压缩机与Django 1.11及更新版本兼容。
工作原理
在模板中,标记{% compress js/css %}和 {% endcompress %}被解析并搜索css或js。这些款式和 脚本随后由可选的、可配置的编译器和 过滤器。
css的默认过滤器将静态文件的路径重写为绝对路径。 默认情况下,javascript和css文件都是连接和缩小的。
作为最后一步,模板标记输出一个<script>或<link> 指向优化文件的标记。或者它也可以 将生成的内容直接内联到原始模板中。
由于文件名依赖于内容,因此可以给出这些文件 一个遥远的未来到期日期,不用担心过时的浏览器缓存。
为了提高性能,连接和压缩过程 也可以在请求/响应周期之外使用 django管理命令manage.py compress。
可配置性和可扩展性
django压缩器具有高度可配置性和可扩展性。html解析 是使用lxml完成的,或者如果python的内置htmlparser不可用 违约。作为替代方案,django压缩机提供了BeautifulSoup和 ^基于{a7}的解析器,以及一个抽象基类,使 编写自定义解析器。
Django压缩机还配有内置的 YUI CSS and JS压缩器,yUglify CSS and JS压缩器,谷歌的 Closure Compiler,道格拉斯·克罗克福德的python端口JSmin,python端口 yui css压缩器csscompressor和一个过滤器,用于将(某些)图像转换为 data URIs。
如果您的设置需要不同的压缩机或其他后处理 工具实现自定义过滤器将相当容易。简单地扩展 从一个可用的基类。
有关django压缩机的使用和设置的更多文档可以是 在django-compressor.readthedocs.org上找到。
django压缩器的源代码可以在 github.com/django-compressor/django-compressor。你也可以在那里登记。
Django压缩机的开发版本可以安装 pip install git+https://github.com/django-compressor/django-compressor.git