Django压缩&x2B;AmazonS3的静态特性
我有一个django应用程序,具有以下体系结构:Django压缩&x2B;AmazonS3的静态特性,django,heroku,amazon-s3,django-staticfiles,django-compressor,Django,Heroku,Amazon S3,Django Staticfiles,Django Compressor,我有一个django应用程序,具有以下体系结构: skeleton/ assets/ sass/ static/ css/ templates/ base.html settings/ common.py dev.py prod.py apps/ views.py // ... 我有一个gulpfile.js脚本,它将所有SAS编译成skeleton/static/css
skeleton/
assets/
sass/
static/
css/
templates/
base.html
settings/
common.py
dev.py
prod.py
apps/
views.py
// ...
我有一个gulpfile.js
脚本,它将所有SAS编译成skeleton/static/css/desktop.css
,我的模板中有skeleton/templates/base.html
:
<!DOCTYPE html>
<html>
<head>
{% load compress staticfiles %}
{% block css %}
{% compress css %}
<link href="{% static "css/desktop.css" %}" type="text/css" rel="stylesheet">
{% endcompress %}
{% endblock %}
</head>
...
此文件由prod
和dev
导入:
# prod.py
STATICFILES_STORAGE = DEFAULT_FILE_STORAGE = 'apps.core.storage.CachedS3BotoStorage'
STATIC_URL = 'https://%s.s3.amazonaws.com/' % AWS_STORAGE_BUCKET_NAME
及
我遵循并实现了缓存3botostrage
(代码完全相同)
在本地,它工作得很好,但只要我尝试将其推送到heroku,编译就会失败:
CommandError:呈现骨架/templates/base.html时出错:“”无法通过压缩URL(“”)访问,并且无法压缩
我迷路的地方是文件
https://XXX.amazonaws.com/css/desktop.css
存在(即,如果我试图直接访问它,我会将文件取回),但不知何故compress语句不起作用
我认为添加cacheds3botostrage
文件存储会有所帮助,但显然没有
我该怎么解决这个问题
注意:我只包含了少量的代码/配置,希望能够提供上下文,但如果还有其他意义,我会添加它。您不需要模板中的
{%compress%}
标记
你们可能会发现这个答案很有帮助
# prod.py
STATICFILES_STORAGE = DEFAULT_FILE_STORAGE = 'apps.core.storage.CachedS3BotoStorage'
STATIC_URL = 'https://%s.s3.amazonaws.com/' % AWS_STORAGE_BUCKET_NAME
# dev.py
DEBUG = True
COMPRESS_ENABLED = True