跳转到主要内容

('压缩链接和内嵌的JavaScript或CSS到单个缓存文件。',)

项目描述

https://codecov.io/github/django-compressor/django-compressor/coverage.svg?branch=develop https://img.shields.io/pypi/v/django_compressor.svg Build Status

Django Compressor将Django模板中链接和内嵌的JavaScript或CSS进行处理、合并和压缩成可缓存的静态文件。

它支持诸如coffeescript、LESS和SASS之类的编译器,并通过自定义处理步骤进行扩展。

工作原理

在您的模板中,位于标签 {% compress js/css %}{% endcompress %} 之间的所有 HTML 代码都会被解析和搜索 CSS 或 JS。这些样式和脚本随后将使用可选的、可配置的编译器和过滤器进行处理。

默认情况下,CSS 过滤器将静态文件的路径重写为绝对路径。JavaScript 和 CSS 文件默认情况下将被合并和压缩。

最后一步,模板标签输出一个指向优化文件的 <script><link> 标签。或者,它也可以将结果内容直接内联到原始模板中。

由于文件名取决于内容,因此可以给这些文件设置一个很长的过期日期,而不用担心浏览器缓存中的旧数据。

为了提高性能,可以通过使用 Django 管理命令 manage.py compress 在请求/响应周期之外手动运行合并和压缩过程。

可配置性与可扩展性

Django Compressor 非常可配置和可扩展。默认情况下,使用 lxml 进行 HTML 解析,如果它不可用,则使用 Python 内置的 HTMLParser。作为替代方案,Django Compressor 提供了一个基于 BeautifulSouphtml5lib 的解析器,以及一个抽象基类,这使编写自定义解析器变得容易。

Django Compressor 还内置了对 YUI CSS 和 JS 压缩器yUglify CSS 和 JS 压缩器、Google 的 Closure Compiler、Douglas Crockford 的 JSmin 的 Python 版本、YUI CSS Compressor 的 Python 版本 csscompressor 以及将(某些)图像转换为 data URIs 的过滤器的支持。

如果您的设置需要不同的压缩器或其他后处理工具,将很容易实现一个自定义过滤器。只需扩展其中一个可用的基类即可。

有关 Django Compressor 的使用和设置的更多信息,可以在 django-compressor.readthedocs.org 上找到。

Django Compressor 的源代码可以在 github.com/django-compressor/django-compressor 上找到并贡献。您还可以在那里提交问题。

可以通过 pip install git+https://github.com/django-compressor/django-compressor.git 安装 Django Compressor 的开发版本。

项目详情


下载文件

下载适用于您平台的文件。如果您不确定该选择哪个,请了解有关安装包的更多信息。

源代码分发

django_compressor-4.5.1.tar.gz (124.7 kB 查看哈希值)

上传时间 源代码

构建分发

django_compressor-4.5.1-py2.py3-none-any.whl (145.5 kB 查看哈希值)

上传时间 Python 2 Python 3

支持者