Django статические и медиа файлы + DigitalOcean Spaces

Привет всем!
Я впервые пытаюсь связать проект Django (который находится в DigitalOcean App Platform) с DigitalOcean Spaces. Я создал 3 папки внутри Spaces: static, media и staticfiles. Однако я заметил, что когда я запускаю 'collectstatic', все статические файлы копируются не в папку 'staticfiles', а на корневой уровень.

Если я посещаю доменное имя, статические файлы видны: как изображения, так и файлы css и javascript. И наоборот, медиафайлы не отображаются.

Просматривая код через google developer tools, я заметил, что атрибуты src тегов img пытаются найти как статические, так и медиа файлы на корневом уровне.

Вот что я пытался сделать.

Я установил 'django-storages', включил его в 'INSTALLED_APPS' и затем поместил этот код в settings.py:

AWS_ACCESS_KEY_ID = os.getenv('AWS_ACCESS_KEY_ID')
AWS_SECRET_ACCESS_KEY = os.getenv('AWS_SECRET_ACCESS_KEY')
AWS_STORAGE_BUCKET_NAME = os.getenv('AWS_STORAGE_BUCKET_NAME')
# AWS_S3_CUSTOM_DOMAIN = os.getenv('AWS_S3_CUSTOM_DOMAIN')
AWS_S3_REGION_NAME = '<REGION_NAME>'
AWS_S3_ENDPOINT_URL = os.getenv('AWS_S3_ENDPOINT_URL')
DEFAULT_FILE_STORAGE = 'storages.backends.s3boto3.S3Boto3Storage'
STATICFILES_STORAGE = 'storages.backends.s3boto3.S3Boto3Storage'
STATICFILES_DIRS = [BASE_DIR / "static"]
MEDIA_URL = 'https://<REGION_NAME>.digitaloceanspaces.com/<BUCKET_NAME>/media/'
STATIC_URL = 'https://<REGION_NAME>.digitaloceanspaces.com/<BUCKET_NAME>/static/'
MEDIA_ROOT = 's3://<REGION_NAME>.digitaloceanspaces.com/<BUCKET_NAME>/media'
STATIC_ROOT = 's3://<REGION_NAME>.digitaloceanspaces.com/<BUCKET_NAME>/staticfiles'

В документации 'django-storages' я увидел, что STATICFILES_STORAGE должен быть таким:

STATICFILES_STORAGE = 'storages.backends.s3boto3.S3StaticStorage'

но при этом не загружались статические файлы (css, изображения, js ecc.)

Вернуться на верх