一起使用 django-storages 和 django-compressor 时尝试压缩静态文件时出错

2024-04-03

我已经设置了一个 AWS S3 存储桶,以便使用应用程序 django-storages 在远程 CDN 中传输静态文件, 一切都工作正常,直到我尝试使用 django_compressor 上传到 S3 之前压缩静态文件。

我已经根据 django_compressor 文档为 django-storages 设置了所有变量(https://django_compressor.readthedocs.org/en/latest/remote-storages/index.html https://django_compressor.readthedocs.org/en/latest/remote-storages/index.html)

我使用“manage.pycollectstatic”上传了S3中的所有文件,然后:

当我执行“manage.py compress”时,出现此错误:

CommandError: An error occured during rendering ../templates/base.html: 'https://my_bucket.s3.amazonaws.com/css/bootstrap.2.3.1.css' isn't accessible via COMPRESS_URL ('https://my_bucket.s3-external-3.amazonaws.com/') and can't be compressed

我的设置有什么问题吗?

这是我的 django-storages 和 django_compressor 的 settings.py 配置:

COMPRESS_URL = 'https://mybucket_name.s3-external-3.amazonaws.com/'
STATIC_URL = COMPRESS_URL
DEFAULT_FILE_STORAGE = 'my_project.boto_custom.CachedS3BotoStorage'

AWS_ACCESS_KEY_ID = 'XXX'
AWS_SECRET_ACCESS_KEY = 'XXX'
AWS_STORAGE_BUCKET_NAME = 'mybucket_name'

COMPRESS_ROOT = STATIC_ROOT

COMPRESS_STORAGE = 'my_project.boto_custom.CachedS3BotoStorage'
STATICFILES_STORAGE = 'my_project.boto_custom.CachedS3BotoStorage'

COMPRESS_OFFLINE = True

感谢您的帮助


我通过添加一个变量来修复它并且它起作用了:

AWS_S3_CUSTOM_DOMAIN = 'my_bucket.s3-external-3.amazonaws.com'
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

一起使用 django-storages 和 django-compressor 时尝试压缩静态文件时出错 的相关文章

随机推荐