问题标签 [django-compressor]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
1679 浏览

django - django-compressor:在调试模式下使用lessc

我不确定我是否做对了,但问题是:

  • 我正在使用django-compressorlessc处理器
  • 一些 LESS 文件具有相对图像 URL。有些是我的,有些是第 3 方库(例如Bootstrap)
  • COMPRESS_ENABLED什么时候True,一切正常
  • COMPRESS_ENABLEDisFalse时,CssAbsoluteFilter不再运行,这意味着所有相对图像 URL 都保持相对,因此被破坏(因为它们与CACHE目录无关)

我可以想出一个“聪明”的目录结构,其中相对路径解析为同一个文件,无论它们来自CACHE目录还是来自 LESS 文件目录,但这似乎是一个脆弱的解决方法。

当涉及到 LESS + 时,您通常如何工作django-compressor

0 投票
1 回答
498 浏览

django - 用 {{ compress js }} 和 {{ compress css }} 包装相关标签

有没有办法用 django_compressor 标签自动包装所有相关标签(即脚本、样式、链接 rel=stylesheet)?

0 投票
2 回答
2081 浏览

django - 带有 S3 URL Heroku 的 Django 压缩器

我目前正在使用 django 压缩器和 django 存储从 s3 运行我的静态媒体。我的文件如下:

根据文档,我的存储是:

我的设置是:

有很多媒体要压缩,这就是为什么我选择使用离线压缩并运行 manage.py compress 命令而不是在 dyno 重新启动时运行 collectstatic ,因为它只是太慢了。

Django 压缩器为我提供了一个很棒的查询字符串,但它包含不加载的 html。IE

两个放大器;项目不应该在那里。我宁愿让它安全,但我也在设置中尝试了 AWS_S3_SECURE_URLS = False,这似乎并没有改变让我认为有问题的事情。

我正在使用 django 1.4,所以可能有一些不兼容的东西。

0 投票
1 回答
390 浏览

css - 为什么 django-compressor 修改 CSS 文件而不是简单地连接它们?

我最近部署了一个基于 Django 的站点。我一直在寻找加快页面加载速度的方法,所以我决定试试django-compressor 。

我的主页包含相当多的 CSS 和 JS 文件,因此 django-compressor 似乎是完成这项工作的完美工具。我修改了主页的模板以利用 django-compressor 的 CSS 连接功能:

不幸的是,问题在于 django-compressor 正在修改文件。file1.css包含大量声明并file2.css包含一些新声明并覆盖file1.css. 不幸的是,其中的一些声明file2.css丢失了(文件的一部分在那里 - 但部分没有)。

即使我设置了,这仍然会发生:

...在settings.pyfile2.css这些文件是连接的,但缺少一些's 声明。是否有一些我不知道的设置导致文件被修改或声明被删除?JavaScript 文件不会发生这种情况。

0 投票
2 回答
1024 浏览

django - 带有多个应用程序的 Django 和指南针

我想使用Compass来简化在我的 Django 应用程序中编写 CSS 的任务。但我不知道如何配置它。

我看到 django-compressor 支持 SASS,但是为了使用 Compass,我需要将_*.scss文件转储到我的工作区(Django 1.4),因为这是 django-compressor 运行scss命令时的工作目录。

Eric Meyer 的方法听起来很明智(在开发期间编译.scss文件.css并提交给 SCM),但我如何使用 SASS/Compass 工具.scss在 Django 工作区中的多个应用程序(可重用和不可重用)中编译并不明显。

我将每个应用程序的静态样式表文件存储在<app>/static/<app>/css/.

我遇到的问题是这样的:

  1. @import不适用于跨应用程序
  2. _*.scss文件放入工作区是不可接受的
  3. compass watch在工作区中运行失败:

    没有什么可编译的。如果你试图开始一个新项目,你已经离开了目录参数。

  4. 使用@include background(...)失败:

    语法错误:未定义操作:“-compass-list-size(compact(#cccccc, false, false, false, false, false, false, false, false, false)) gt 1"

0 投票
1 回答
283 浏览

django - 将 django 压缩器配置为不重命名后处理文件

Django 压缩器在开发模式下用丑陋的哈希重命名我漂亮的文件名,我不想压缩它,只处理 scss 到 css。如何配置 django 压缩器在处理 sass 文件后不重命名它们,而项目以 DEBUG = True 运行?

0 投票
2 回答
6572 浏览

css - Django Compressor 不重新生成压缩的 CSS

我在开发一块 css 文件时尝试使用 Django Compressor。我首先在一个文件周围放置 {% compress %} 标签,生成 f6527e81a37c.css。然后我在标签之间添加了两个 css 文件,但不是一个缩小文件,而是两个缩小文件:f6527e81a37c.css 和 ee906624f953.css。

最后,我想将所有 css 块合并并压缩成一个缩小文件,但是将更多文件移动到压缩标签中似乎不会重新生成与 css 文件关联的密钥,即它仍然压缩成多个 css 文件即使它们被包裹在同一个 {% compress %} 块中。

我尝试清除 Django 的 memcache,删除 Compressor 生成的 /static/CACHE/ 目录,并使用 Django Compressor 附带的 compress 管理命令,但是当我运行开发环境时,我仍然得到多个压缩的 css 文件。是否可以进行某种刷新,以便 Django Compressor 重新生成与 {% compress %} 块中的文件关联的 css 键?压缩器必须将以前的压缩文件密钥存储在某处。

压缩结果:

设置.py:

0 投票
1 回答
610 浏览

django - Django Compressor 离线继承

此问题专门针对使用 Django Compressor 的生产站点。我希望它在 COMPRESS_OFFLINE = True 时工作,以便我可以在推送到生产之前预压缩我网站的所有 css 文件。

我想在 base.html 中执行与此等效的操作:

这样我在扩展 base 的文件中的所有 css 块都被压缩了。这主要是为了让我不必将 {% compress %} 标记添加到我的所有子模板中。

Stack Overflow 上有几个类似的问题,但是我在离线压缩时(即使用 Django Compressor 的压缩管理命令)没有找到一个好的解决方案。当 COMPRESS_OFFLINE = False 时,周围的压缩标签可以正常工作。有人找到一种方法使这项工作离线吗?

我列出了一些似乎与非离线解决方案有关的类似线程。第二个线程中的链接表明,在离线使用 Django Compressor 时存在继承问题,但也许它们已经解决:

Django-compressor 和模板继承

django-compressor 是否适用于模板继承?

0 投票
1 回答
661 浏览

python - Django 1.4 和 django-compressor 的奇怪之处

我在使用压缩后附加的模板标签时使用django-compressor 1.1.2withDjango 1.4compressPROJECT_PATHSTATIC_URL

当我没有设置 COMPRESS_OUTPUT_DIR = os.path.join(MEDIA_CACHE, 'compressor')

输出看起来像

设置

我的配置有什么问题?

谢谢,

苏丹

0 投票
2 回答
1719 浏览

css - django-compressor 给出文件未找到但它在那里

我正在使用 django-compressor 来压缩我的 css,所以我接下来用 HTML 编写:

它给出了以下错误:

顺便说一句:所有文件都在静态路径中,所以如果我评论压缩它们将起作用。

我的 settings.py 关于压缩: