Django-хранилища, вставляющие имя корзины в качестве папки
Я перехожу на Django 5.1.6 (django-хранилища 1.14.5) с Django 3.2, используя DigitalOcean S3-совместимые пространства, и когда я запускаю python manage.py collectstatic
имя корзины вставляется как папка, хотя раньше этого не было. Я хочу, чтобы он сохранялся в myBucket
как /static/myFile.png
, но вместо этого он сохраняется как /myBucket/static/myFile.png
.
В моем settings.py файле:
STORAGES = {
"default": {
"BACKEND": "django.core.files.storage.FileSystemStorage",
},
"staticfiles": {
"BACKEND": "storages.backends.s3boto3.S3Boto3Storage",
"OPTIONS": {
"secret_key": "mySecretKey",
"access_key": "myAccessKey",
"bucket_name": 'myBucket',
"endpoint_url": 'https://mySubdomain.sfo2.digitaloceanspaces.com/',
"object_parameters": {'CacheControl': 'max-age=86400'},
"location": 'static',
"default_acl": 'public-read',
},
},
}
STATIC_URL = "https://mySubdomain.sfo2.digitaloceanspaces.com/static/"
Я делаю что-то не так или это ошибка в django-хранилищах?
Оказывается, я пропустил важные предостережения для DigitalOcean.
Установите
region_name
для своего региона Цифрового океана (например, Нью-Йорк 3 или sfo2)Установите
endpoint_url
равным значениюhttps://${region_name}.digitaloceanspaces.com