问题标签 [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.
python - 部署压缩资产的更好方法 - Django Compressor
所以我有一个棘手的问题,我无法找到更好的解决方案。
我正在使用django-compressor
它在压缩/缩小文件方面做得很好。我面临的问题是在部署期间。一段时间以来,我只是compress
在生产中使用标签,我只是在所有页面上进行 curl 以确保它重新生成正确的 CSS/JS。这样一来,新用户就不必在压缩过程中首当其冲。
我知道它有一个管理命令,它可以预压缩文件,然后可以将其推送到 CDN,并可能在登陆/登录页面的幕后预加载它们。
这是问题所在,在一些 javascript 代码中,我使用上下文变量和 django 标签 [自定义和本机]。
这会导致错误,因为在压缩期间它会尝试执行显然没有值的标签。它确实带有,COMPRESS_OFFLINE_CONTEXT
但不是动态的。
有没有人遇到过这个问题。如果代码与一些 django 标签/上下文变量混合,你如何进行压缩?
django - django-compressor 和 data-URIs
我已经启动并运行了django-compressor,并且已经测试了 COMPRESS_OFFLINE 的开启和关闭(两者都有效)。现在我正在尝试使用它的 CSS 数据 uri 生成功能,但运气不佳。除了添加设置之外,其他出色的文档没有说明如何配置或使用它:
如果我然后链接到包含以下内容的样式表:
并查看该样式表上的源代码,我希望看到表示为 data-uri 的图像,但我没有 - 它仍然是正常的路径/到/文件。
如果我设置COMPRESS_OFFLINE
为 true 并运行manage.py compress
并检查生成的文件,同样的处理。
是否需要额外的步骤才能使用 django-compressor 在样式表中生成数据 uri?
python - Django 压缩器使用 gzip 来提供 javascript
我正在尝试从 amazon s3 提供 gzip 文件。这是我的settings.py:
当我这样做时,django 为每个 *.js 和 *.css 压缩创建 *.gz 文件,但奇怪的是只有 *.css 文件作为 gzip 提供。我可以在 aws s3 上看到 .css 文件具有 Content-Encoding: gzip 而 *.js 没有。这里发生了什么?
css - django压缩器,只压缩js
有一个 ie7 错误,其中第 4094 个选择器之外的文件中的 css 选择器被忽略。您如何禁用 django 压缩器从较小的 css 文件制作较大的 css 文件,但将其保留为 javascript?
在设置中,您可以设置COMPRESS_ENABLED = False
哪些仍然允许较少和其他资产离线预编译。理想情况下,我想要一个用于 Rails的 COMPRESS_CSS_FILTERS 工具(博客文章)
编辑
实际上COMPRESS_CSS_FILTERS 只是返回字符串,所以我需要一个 post_compress 钩子(以及 django 压缩器为 {% compress %} 块中的每个标签属性提供触发的钩子,其中一个在所有 css 生成后触发的钩子会需要)。
python - Django Compressor、S3 和 SASS,编译文件未上传
我正在尝试使用 Amazon s3 和 SASS 设置 Django Compressor,但我遇到了这个问题。
因此,这些是 django 压缩器的设置:
这是调用文件的模板部分
问题是压缩文件没有上传,因为它们被放在一个专用文件夹中(仅上传资产中的文件)
我做错什么了吗?
django - 使用 {% static %} 使 Django 压缩
{% static %}
我正在尝试使 django compress 工作,但我相信由于我的使用它不起作用。
我的模板是(我正在使用 pyjade 但没关系):
还有我的 settings.py 的一部分:
即使我$ python manage.py collectstatic
压缩不起作用并吐出原始文件。在文档中它说我应该提供我认为我已经给出的绝对路径,不是吗?有人可以帮助进行压缩工作吗?谢谢。(我对 django 的静态文件不是很熟悉)。
更新
COMPRESS_ENABLED = True
按照我在设置中启用(和)的Timmy 的评论后DEBUG=False
,它仍然需要找到文件:
只是要注意静态文件已正确找到并呈现(何时COMPRESS_ENABLED = False
)。
我的结构:
玩了一段时间后,看起来 compress 在 css 和{% static %}
.
如果你有
link(rel="stylesheet", href="/static/less/bootstrap.css")
它极大地压缩样式表,
link(rel="stylesheet", href="{% static 'less/bootstrap.css' %} ")
它会引发错误。
在 js 上,它渲染得很好:script(type="text/javascript", src='{% static "bootstrap/js/bootstrap.min.js" %}')
django-compressor - 如何有条件地使用 django-compressor 包含 LESS 文件?
我想有条件地在这样的{% compress css %}
块中导入一个 LESS 文件:
我正在使用离线压缩并获得一个OfflineGenerationError
,这是有道理的,我只是不知道如何修复它。
我有几个想法:
- 将导入的逻辑移动到视图和服务器中 一个 html 文件用于包含,一个不包含
- 将逻辑移动到 css 中(如果/如何可能)
- 提供一个条件包含,它压缩 LESS 文件
- 删除压缩并将LESS文件编译为CSS,然后上面的代码应该可以工作
谢谢,
亚历克
python - django css 和 js 文件在 heroku 上 gzip 压缩
我正在尝试压缩我的 css 和 js 文件并用作 gzip 文件,但没有成功。
我已经尝试了所有方法,django-pipeline、django-compressor 等。
我得到了 django-compressor 来创建 gzip 文件,但我不确定如何为它们提供服务。我使用 GzipMiddleaware 来压缩和提供我的 html 文件。
任何人都可以编写有关如何在 heroku django 上使用 gzip 和提供静态文件的分步指南。
很抱歉询问详细的步骤,我不是要求被勺子喂食,但我已经被这个问题困扰了将近 24 小时,尝试了 n 个解决方案,但似乎没有一个有效。
仅供参考,我正在使用 django-1.5
在此先感谢您的帮助
django - s3 上的 Django-compressor 无法识别和复制更新的文件
我正在使用 Django、django-compressor、django-storages 将我的站点的静态文件放到 s3 上。我能够将它们放到 s3 上,但是当我对文件进行修改,然后运行 collect static 时,它报告没有修改过的文件。
我只是修改了一个文件,所以我想知道这是否是服务器上某处、s3 上某处的时间戳问题,还是其他地方的不一致。
我一直在查看收集静态的来源(https://github.com/django/django/blob/master/django/contrib/staticfiles/management/commands/collectstatic.py#L286)
似乎它会传达信息
代替
如果它已经复制了它,但我不清楚为什么如果我们更新它会认为它已经被复制了。
也许我误解了有关压缩器或静态文件的文档,但在我看来,它应该已经在文件更新时处理收集和处理文件,但它仍然说(未修改)。
django - Django-compressor 在第一个 compress 语句后不工作
我有一个包含各种 js 文件的网站,我正在使用 django-compressor,如下所示:
由于某种原因,它只创建了 FIRST js 文件。我的应用程序托管在 EC2 上。我可以在那里看到第一个文件。当我在页面上查看源代码时会出现第二个文件,但是,文件本身不存在(当我单击第二个 js 文件的链接时,我得到一个 404)。有什么我做错了吗?我的设置如下:
它对 css 文件非常有效......但是在第一个压缩标志之后在任何其他 js 文件上都失败了......