找不到DjangPipeline amazon s3 collectstatic文件

2024-06-26 13:36:15 发布

您现在位置:Python中文网/ 问答频道 /正文

我使用的是s3boto、django pipeline和django storages,设置如下:

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管道的定制存储

^{pr2}$

但我一直得到:

ValueError: The file 'project/head.png' could not be found with <utils.classutils.S3PipelineStorage object at 0x2163510>.

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

我能错过什么?在


Tags: 文件djangocomurls3storageutilsroot
2条回答

小费很短。我在为静态文件设置S3时遇到了这个问题。在

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

显然,在s3中找不到css中设置的相对路径的文件,上传失败。它在本地工作,但在从s3运行静态文件时不工作。在

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

相关问题 更多 >