问题标签 [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.
sass - SASS 文字字符串
我使用 Django 与 django-compressor 和 pySCSS 将 SASS 编译为常规 CSS。
在 django-compressor 中有一个过滤器可以将变量转换{{ STATIC_URL }}
为实际值。不幸的是,它在 SASS 预编译器之后运行。
当我在.sass
文件中输入该文字时,它会在大括号之间插入空格:
变成
有没有办法将文字字符串插入 SASS 源文件?或者一种逃避花括号的方法,这样它们就不会被改变?
django - 带有 s3 和 sass 的 django-compressor
我正在使用 AWS EC2 为我的 Django 应用程序提供服务,该应用程序又使用 django-compressor 来压缩 js 和 css 文件,并使用 S3 作为 STATIC_ROOT。
我也在使用 SASS 和 django-compressor,所以它应该编译和压缩 SCSS 文件。但是,当我执行命令时,python manage.py compress --force
我可以看到有一个错误 -
似乎不是理解输入文件路径是https://bucket.s3.amazonaws.com/etc ...它试图解析相对路径..
我已经使用了CssAbsoluteFilter
推荐的方法,但我很沮丧,因为这是一种奇怪的行为。
当然,DEBUG=False
和COMPRESS_ENABLED=True
。
有什么帮助吗?
python - Django Compressor 不会缩小文件
我试图让 django-compressor 与夹层一起工作。对于第一次尝试,我只是安装了 django 压缩器(应该为 Mezzanine 做)并更改 DEBUG = False 但从 Django 生成的 HTML 没有任何变化。所以我遵循了 django 压缩器的文档并修改了我的 settings.py:
这些是安装在我的环境中的软件包:
在这里,我如何在模板中使用压缩器:
在我启动之前什么都没有发生:
python manage.py 压缩 --force
所以现在我已经填充了缓存,并且从 Django 生成的 HTML 指向 CACHE 中的文件,例如:
但是文件没有被缩小,django 压缩器只是复制它们并更改了名称。你知道为什么压缩机不缩小它们吗?
javascript - 在 Django 中使用 JS 压缩器处理浏览器条件 JS
本质上,一个相当简单的问题。像大多数必须支持旧浏览器的网站一样,我们有一堆条件加载 JS 脚本:
我们有很多 JS 依赖项,我们的计划是压缩这些依赖django-compressor
项以减少查询负载,并改进在 Javascript 更改时重新加载依赖项(避免浏览器缓存问题)。
真正的问题是,如果您需要按顺序进行级联加载(即 JQ-UI 之前的 Jquery 等,并且某些组件是有条件的(D3 与 r2d3),您是否只需压缩尽可能多的无条件的,还是有更聪明的方法?
django - 使用 django-compressor 和 AWS CloudFront 时出错
我已经在 Django 1.6 中成功使用django-compressor
并django-storages
管理了我的静态文件的压缩和部署。我现在正在尝试使用 AWS CloudFront 来提供我的静态文件。
我按照这里的说明进行操作,default_storage.exists 非常慢并且经常超时,我的settings.py
文件如下所示:
但我收到以下错误:
我是否需要将 COMPRESS_URL 指向 CloudFront?
django - Django Compressor:缓存搞砸了
我有一个使用 django-compressor 的 webapp,用于 js、css 和更少的缩小。
我正在使用COMPRESS_OFFLINE = True
,因为我正在使用 django 压缩器来构建一个包含导入其他文件的 less 文件(否则,如果在 core.less 中进行更改,django 压缩器不会重建文件):
我遇到了以下问题:我有以下 .css 文件assets/CACHE/css
:
它们都对应于我的 core.less 文件的修改。问题是当我登录我的 webapp 时,似乎 Django-Compress {%compress%} 使用了所有这些文件,而不仅仅是最后一个。所以有时我有好的设计,如果我刷新我会得到旧的......
每次我刷新文件更改时......所以我假设有一些与 django 压缩缓存相关的东西,但我真的不知道如何解决这个问题......
如果你们有想法,请随时帮助我。
css - 使用 django_compressor 压缩 sass 问题
我在使用集成sass
时遇到问题Django
django_compressor
以下是导致的错误:
从模板中,这会导致上面的错误 -
有趣的是,如果我使用内联 sass 样式,压缩会起作用,这让我想知道这个问题是否与我如何链接资源有关。
内联作品-
这里似乎有什么问题?
这些是我的设置 -
我认为问题是我不确定如何设置值href
?我想使用{{ static <foo> }}
,但它返回相同的错误。我知道要包含您需要使用的变量COMPRESS_OFFLINE_CONTEXT
,但不知道该怎么做。
django - 使用 django-compressor 进行离线压缩时,如何使用 CDN 添加对多个部署阶段(prod、qa、test)的支持?
我有一个非常简单的 django 应用程序设置,它被打包在 jenkins 中,它使用 django-compressor 运行离线压缩,运行集成测试,然后部署到 QA 服务器。后来我会有一份工作,它使用相同的包部署在我们的产品服务器上。
这一切都很好,只要资源路径在所有三个阶段都相同 - 但我现在想为静态资源添加一个 CDN,它只是代理 prod 服务器上的请求,这意味着我需要另一个 URL 前缀(MEDIA_URL)用于生产。目前,当我只是更改我的包装以将 MEDIA_URL 指向 CDN 时,我的集成测试失败并且 QA 服务器已损坏,因为 CDN 代理了生产服务器。所以我想继续使用相对的非前缀路径进行集成并自定义带有远程 URL 的压缩媒体文件的 URL 前缀。
有什么理智的方法可以做到这一点吗?对于我的集成测试,我可以想象我只是创建一个 /etc/hosts 条目以将 CDN 主机名指向测试服务器,但这似乎是一个丑陋的解决方法。
django - django 压缩器响应时间较慢
我正在尝试使用带有和不带有 django 压缩器的 django 应用程序的页面加载时间 chrome 扩展来测量响应(通过将 COMPRESS_ENABLED 设置为 True/False)。我确实清除了浏览器缓存、关闭/启动 VM,以确保每个测试都具有相同且新鲜的条件。我还在浏览器上按 F12 / Network 选项卡以查看请求数和 KB 传输。对于每个测试,我都会运行几个不同的页面并记下指标。虽然启用 django-compressor 确实显示更少的 HTTP 请求数量,但在我看来,它的页面加载时间比禁用 django-compressor 的时间长。
我知道启用 django-compressor 后,页面最初可能会运行得有点慢,因为它需要合并、压缩 js/css 文件并将压缩文件写入 S3。但是在我执行的测试中,压缩文件已经在 S3 中可用,并且 js/css 文件没有变化,因此 django-compressor 的开销应该是最小的。
任何人都有类似的问题,如果有让 django-compressor 更快的设置,请告知。谢谢。
django - Django 压缩器响应时间过长(15 秒)
我有app.html
很多咖啡脚本(58 个文件)的页面。我使用 django-compressor 来编译它们:
一切都编译并工作,但页面响应需要 15 秒。我认为第一个请求应该没问题(应该编译咖啡),但是第二个、第三个和所有进一步的请求都需要 15 秒。
输出始终相同:
我不更改文件,我只是刷新页面。
似乎 django-compressor 会在每次请求时重新编译所有文件(但编译后的 js 文件的名称不会改变,这很奇怪)。
有什么办法可以加速 django-compressor?
附言
- 我在本地运行 django
manage.py runserver
。 DEBUG = True
(我的 DEBUG 选项在 settings.py 中设置为 True)