首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >找不到django-pipeline amazon s3集合静态文件

找不到django-pipeline amazon s3集合静态文件
EN

Stack Overflow用户
提问于 2012-08-04 21:21:12
回答 2查看 1.4K关注 0票数 4

我使用s3boto、django-pipeline和django-storages进行如下设置:

代码语言:javascript
复制
DEFAULT_FILE_STORAGE = 'storages.backends.s3boto.S3BotoStorage'
STATICFILES_STORAGE = 'utils.classutils.S3PipelineStorage'

MEDIA_ROOT = "/"
MEDIA_URL = '//s3.amazonaws.com/%s/' % AWS_STORAGE_BUCKET_NAME
STATIC_ROOT = '/static/'
STATIC_URL = '//s3.amazonaws.com/%s/static/' % AWS_STORAGE_BUCKET_NAME
STATICFILES_DIRS = (
    os.path.join(SITE_ROOT, 'assets'),
)

以及django-pipeline的这个自定义存储

代码语言:javascript
复制
from django.contrib.staticfiles.storage import CachedFilesMixin
from pipeline.storage import PipelineMixin
from storages.backends.s3boto import S3BotoStorage

class S3PipelineStorage(PipelineMixin, CachedFilesMixin, S3BotoStorage):
    pass

但我一直在想:

代码语言:javascript
复制
ValueError: The file 'project/head.png' could not be found with <utils.classutils.S3PipelineStorage object at 0x2163510>.

但是这个文件不存在于任何地方!不是在插件中,我试着找到它,我检查了我的静态目录,试着在admin中找到它,我甚至不记得使用过这样的文件!我尝试过findstatic,但找不到该文件。

我能错过什么呢?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-08-04 23:06:01

你肯定有一个css文件指向一个不存在的'project/head.png'文件,删除这个引用,它应该可以工作。

票数 3
EN

Stack Overflow用户

发布于 2014-09-26 17:24:09

小贴士。我在设置S3为静态文件提供服务时遇到了这个问题。

我想提供来自s3的静态内容,并继续处理上传到本地计算机上的媒体文件夹的文件。然后我得到了一个图像,它在s3上的css文件中被引用,它指向媒体文件夹中的一个图像,比如这个background: url(../media/some/image.png)

显然,使用css中设置的相对路径无法在s3中找到该文件,因此上载崩溃。它在本地工作,但在从s3运行静态文件时不起作用。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11808991

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档