Django CSS相对路径在Amazon S3中不起作用

阿拉斯泰尔W

基本上,我将S3用于网站的静态文件。模板中引用了大多数图像,但是我注意到每个引用的图像或文件(特别是字体)都无法正常工作。

我已经在S3中将所有文件公开,并且可以通过公共链接访问它们。

这是我的setting.py

STATICFILES_DIRS = [
    os.path.join(BASE_DIR, 'app/static'),
]

AWS_ACCESS_KEY_ID = ''
AWS_SECRET_ACCESS_KEY = ''
AWS_STORAGE_BUCKET_NAME = 'abc-bucket'
AWS_S3_CUSTOM_DOMAIN = '%s.s3.amazonaws.com' % AWS_STORAGE_BUCKET_NAME

AWS_S3_OBJECT_PARAMETERS = {
    'CacheControl': 'max-age=86400',
}

AWS_LOCATION = 'static'
STATICFILES_STORAGE = 'storages.backends.s3boto3.S3Boto3Storage'
STATIC_URL = "https://%s/%s/" % (AWS_S3_CUSTOM_DOMAIN, AWS_LOCATION)

DEFAULT_FILE_STORAGE = 'app.storage_backends.MediaStorage'

我已删除了该帖子的AWS访问和密钥。

fonts.css包含以下内容;

@font-face {
    font-family: 'rt-icons-2';
    src:url('../../fonts/rt-icons-23dab.eot?wz19bt');
    src:url('../../fonts/rt-icons-2d41d.eot?#iefixwz19bt') format('embedded-opentype'),
        url('../../fonts/rt-icons-23dab.ttf?wz19bt') format('truetype'),
        url('../../fonts/rt-icons-23dab.woff?wz19bt') format('woff'),
        url('../../fonts/rt-icons-23dab.svg?wz19bt#rt-icons-2') format('svg');
    font-weight: normal;
    font-style: normal;
}

AWS文件夹结构为;

 static
 - content
   - css 
     - fonts.css
 - fonts
   - rt-icons-23dab.eot
   - rt-icons-2d41d.eot
   - rt-icons-23dab.ttf
   - rt-icons-23dab.woff
   - rt-icons-23dab.svg

我知道CSS可以正常工作,因为所有样式都很好,因此可以正常访问fonts.css,但是相对路径已损坏,并且所有字体图标都丢失了。在我运行收集静电并将其移至S3之前,这些工具工作正常。

阿拉斯泰尔W

这里找到答案问题是CORS配置。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章