我尝试使用 django-storages 从本地静态文件移动到 S3。我仔细阅读了文档,但仍然无法访问静态文件。
在本地环境中,我有:
STATIC_URL = '/static/'
在中settings.py
,一切正常。
当我按照文档显示添加所有 S3 参数时:
STATIC_URL = 'https://django-main.s3.amazonaws.com/'
ADMIN_MEDIA_PREFIX = 'https://django-main.s3.amazonaws.com/admin/' # tried with this and also without this
DEFAULT_FILE_STORAGE = 'storages.backends.s3boto3.S3Boto3Storage'
STATICFILES_STORAGE = 'storages.backends.s3boto3.S3StaticStorage'
AWS_ACCESS_KEY_ID = '<AWS_ACCESS_KEY_ID>'
AWS_SECRET_ACCESS_KEY = '<AWS_SECRET_ACCESS_KEY>'
AWS_STORAGE_BUCKET_NAME = 'bucket-name'
我跑python manage.py collectstatic
了似乎工作正常并将静态文件上传到存储桶。
但是运行服务器并进入管理页面,它看起来像这样:
这是因为它无权访问静态文件。没有错误被抛出/显示
有任何想法吗?
编辑:
但我将我的 settings.py 更改为:
AWS_ACCESS_KEY_ID = os.environ.get('AWS_ACCESS_KEY_ID')
AWS_SECRET_ACCESS_KEY = os.environ.get('AWS_SECRET_ACCESS_KEY')
并确保访问可用(放置一个断点并使用这些确切的环境变量从该存储桶中使用 boto3 下载一个 css 文件,但仍然没有解决方案