Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/heroku/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Django压缩&x2B;AmazonS3的静态特性_Django_Heroku_Amazon S3_Django Staticfiles_Django Compressor - Fatal编程技术网

Django压缩&x2B;AmazonS3的静态特性

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

我有一个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/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