问题标签 [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.
django - 如何在heroku上设置django-compressor,离线压缩到S3
我遵循了在 SO 和不同博客中找到的每一个 QA 建议,在我的开发机器上一切正常,在 heroku 上没有任何作用。
这是我的设置:
当我运行 collectstatic/compress 一切正常时,我看到文件被收集到 S3 并放在适当的位置。我看到清单文件。
加载带有压缩器标签的任何页面,显示错误再次OfflineGenerationError: You have offline compression enabled but key "d2a53169c44dec41ce3ee7da19b2b9d4" is missing from offline manifest.
运行python manage.py compress
无法解决任何问题。当我检查清单文件时,它寻找的密钥确实不存在。
这里出了什么问题?
我已经检查过的问题:
django - django-compressor:模板无效
我正在为一个项目使用 django-compressor,但是当我运行./manage compress
命令时,我得到了一个错误列表,例如:
我没有任何额外的信息。此外,应用程序已添加到INSTALLED_APPS
模板标签中,无需 django-compressor 即可正常运行。
更新:
这是settings.py
文件:
python - Django-Compressor 压缩文件名
使用 Django 压缩器。想知道是否有办法获取压缩文件名,以便我可以异步加载脚本(因为 django-compressor 目前不支持)。
例如所以我可以在我的模板中做这样的事情
Python 版本:2.7
Django 版本:1.4.1
python - Django Sass Compressor django_libsass.SassCompiler:找不到命令
我正在使用 Django-Compressor Filter 作为 Wagtail 的一部分(具有超酷 UI 的 Django 变体 CMS)。环境是 Wagtail 0.2 + Python 2.7 + Django 1.6 + Virtualenv + FastCGI + Apache 共享主机。
尝试访问 CMS 的管理/登录页面时出现问题。Django 显示错误呈现模板
Skeleton.html 的第 20 行是:
我的settings.py中的预编译器,DEBUG设置为True:
试错 #1
我尝试更改为:
但这导致我出现字典更新序列元素 #0 错误。
我已经安装了 django_libsass 和压缩器,还尝试了, , pip install libsass
, ngm install lessc
turn pip install sass
, added , added其他类似问题中的建议。运行返回相同的错误。DEBUG = False
COMPRESSOR_OFFLINE
COMPRESSOR_ENABLED
manage.py compress
已经重新检查并且站点包和 django_libsass 确实在我的 sys.path 上
SassCompiler 可以在~/env/lib/python2.7/site-packages/django_libsass.py
试错#2
重新检查sass
是否已安装并在我的路径上。
将代码更改为:
返回错误:
试错#3
阅读此feedly 问题后,尝试 pip install compass
无效
试错#4
根据 gasman 的评论,我运行了 python manage.py shell 并尝试导入 SassCompiler 它没有错误。
完整回溯
如果这个问题太长,我深表歉意。
python - Django-Compressor 什么都不做
我正在使用 django-compressor 来压缩 css 文件。
我按照http://django-compressor.readthedocs.org/en/latest/quickstart/中的说明做了
我更改了我的模板文件如下:
我没有看到任何变化。没有错误。文件未压缩。我该如何改变?
在我的设置文件中:
感谢任何帮助。谢谢
django - Django 压缩器标签在生产机器上被忽略
我正在使用 django 压缩器(1.3),但在我的生产机器上似乎被忽略了。
我已经在我的本地(使用manage.py run server
)上进行了测试,并且 css 和 js 都被合并了(尽管没有缩小)。但是在我的开发机器上,{% compress %}
标签似乎被完全忽略了。
我的基本模板看起来像 -
'compressor'
列在我已安装的应用程序设置中,并且我已设置COMPRESS_ENABLED
为True
(为了在我的本地计算机上进行测试)。
我希望我遗漏了一些明显的东西,但我已经搜索了一段时间了..
更新
django-compressor 安装在我的生产机器上(pip install -r requirements.txt
在 virtualenv 中使用)。
DEBUG
设置为False
,我正在使用以下静态文件查找器 -
进一步更新
如果我将inline
参数添加到{% compress %}
标签,我可以内联压缩所有内容(在 html 内)。但是,当我使用该file
参数时没有任何反应(我宁愿使用可以缓存的外部文件 - 所以坚持使用 inline 选项并不理想)。
django - Django Compressor 的 manifest.json 中的协议相关 url
我正在使用具有离线压缩功能的Django Compressor,并将压缩的静态文件存储在 Amazon S3 上。我的问题是通过指定为协议来manifest.json
引用缓存文件:http://
这会导致通过 HTTPS 访问页面时不会加载缓存文件:
The page at 'https://example.com' was loaded over HTTPS, but ran insecure content from 'http://example.com.s3.amazonaws.com/static/CACHE/css/abffb776bf3e.css': this content should also be loaded over HTTPS.
解决方案是在manifest.json
没有 url 的情况下引用缓存的文件http:
,但还没有找到一种方法让它以这种方式生成。
有没有办法manifest.json
用相对协议的 url 生成?
django - Django 提供静态文件
我正在尝试配置我的 django 设置以在调试和生产模式下提供静态文件。我希望在生产模式下来自 S3,而在调试模式下来自本地安装。我的设置如下:
除了我无法弄清楚的一件小事之外,我能够让一切正常工作。很多时候我的 CSS 文件会有一个背景 url 作为/images/logo.png
. 该文件夹/images/
存在于 S3 中,但对于我的本地来说,它需要是/static/images/
. 我试图将 S3 URL 设置为/static/
最后,但它不起作用。还有什么我想念的吗?如何让 CSS 图像 URL 重定向到/static/
?
django - django-compressor 和 nginx: 404 压缩文件
多么奇怪的错误。我做错了什么?
文件夹中所有被压缩django-compressor
的CACHE
文件都返回404。它们存在于文件系统中,可以通过ftp下载。当我通过浏览器访问文件夹时会看到它们/static/
,但是当我尝试访问它们时,它们会抛出 404。无论COMPRESS_ENABLED
是False
还是True
. 他们的权限设置为 755。
常规 css 和 js 文件返回 200 OK。
html - Django 压缩器缩小 css 但不压缩
所以我使用'django-compressor'来压缩所有的css文件。它确实将所有 css 文件缩小并合并为一个文件“9756d9abb2c2.css”,但这个文件的大小几乎等于所有 css 文件的总和。Google PageSpeed 仍然告诉我:
我不确定可能是什么问题:/
编辑:这是我的设置: