Я хочу загрузить свои статические файлы в хранилище amazon s3, но я не могу помешать django просто поместить их в каталог staticfiles в корне проекта.У меня есть файл boto3 в моем файле require.txt и я установил
STATICFILES_STORAGE = 'storages.backends.s3boto3.S3Boto3Storage'
Я успешно настроил s3 с медиа-файлами в том же контейнере (в другом каталоге).
Collectstatic также игнорирует переменную STATIC_ROOT в settings.py, когда я закомментирую настройки s3.При запуске python3 manage.py collectstatic я ожидаю, что он будет собирать статические файлы в STATIC_ROOT, как сказано в документации здесь https://docs.djangoproject.com/en/2.1/ref/settings/ (в static_root).Но даже если я задаю другое значение для STATIC_ROOT, collectstatic всегда собирает каталог в корневом каталоге с именем staticfiles .
STATIC_ROOT = os.path.join(BASE_DIR, 'this_is_not_used_by_collectstatic')
Остальные мои настройки s3:
# Amazon S3
AWS_ACCESS_KEY_ID = os.environ['AWS_ACCESS_KEY_ID']
AWS_SECRET_ACCESS_KEY = os.environ['AWS_SECRET_ACCESS_KEY']
AWS_STORAGE_BUCKET_NAME = 'my_bucket_name'
AWS_S3_REGION_NAME = 'eu-north-1'
AWS_S3_CUSTOM_DOMAIN = '%s.s3.amazonaws.com' % AWS_STORAGE_BUCKET_NAME
AWS_S3_OBJECT_PARAMETERS = {
'CacheControl': 'max-age=86400',
}
AWS_DEFAULT_ACL = None
AWS_LOCATION = 'static'
STATIC_URL = 'https://%s/%s/' % (AWS_S3_CUSTOM_DOMAIN, AWS_LOCATION)
STATICFILES_STORAGE = 'storages.backends.s3boto3.S3Boto3Storage'
# media
DEFAULT_FILE_STORAGE = 'korvir.storage_backends.MediaStorage'