collectstatic django собирает в неожиданный каталог - PullRequest
0 голосов
/ 11 февраля 2019

Я хочу загрузить свои статические файлы в хранилище 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'

1 Ответ

0 голосов
/ 11 февраля 2019

Если вы используете django-heroku, и у вас есть следующее в вашем коде, согласно инструкциям:

django_heroku.settings(locals())

... тогда он перезапишет вашу настройку STATIC_ROOT.Если вы хотите сохранить собственную настройку STATIC_ROOT, убедитесь, что вы установили STATIC_ROOT после вызова django_heroku.settings.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...