Проблемы с загрузкой статических файлов django на S3 с помощью zappa
Добрый день!
Я разворачиваю проект Django с Django Rest Framework (DRF) на AWS Lambda с помощью Zappa. Пока все работает, за исключением админки Django, которая выглядит не стилизованной и не содержит статических файлов.
Следуя документации, я попытался настроить статические файлы на обслуживание из S3, выполнив команду zappa manage dev «collectstatic --noinput». Эта команда успешно завершается, но когда я проверяю ведро S3, в нем нет статических файлов, связанных с моим проектом (в частности, для администратора Django). Вот моя конфигурация:
Settings.py
java Копировать
код<<<<1><1>>>from pathlib import Path
import os
BASE_DIR = Path(__file__).resolve().parent.parent
SECRET_KEY = ''
DEBUG = True
ALLOWED_HOSTS = ['*']
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'rest_framework',
'notification',
'storages'
]
S3_BUCKET = "Name-bucket-s3"
STATICFILES_STORAGE = "django_s3_storage.storage.StaticS3Storage"
AWS_S3_BUCKET_NAME_STATIC = S3_BUCKET
STATIC_URL = f"https://{S3_BUCKET}.s3.amazonaws.com/"
STATIC_ROOT = os.path.join(BASE_DIR, 'static')
AWS_S3_CUSTOM_DOMAIN = f"{S3_BUCKET}.s3.amazonaws.com"
AWS_ACCESS_KEY_ID = ""
AWS_SECRET_ACCESS_KEY = ""
AWS_STORAGE_BUCKET_NAME = S3_BUCKET
AWS_S3_REGION_NAME = ''
Настройки Zappa (zappa_settings.json)
<<<<0> Проблема:
Когда я выполняю команду collectstatic, она завершается без ошибок, но ни один файл на самом деле не загружается в S3. После включения протоколирования я вижу ошибку «Доступ запрещен». Вопрос:
Как я могу решить эту проблему с доступом? Что-то не так с моей конфигурацией? Мне не хватает каких-то разрешений? Заранее спасибо! {
"dev": {
"aws_region": "",
"django_settings": "core.settings",
"profile_name": "default",
"project_name": "djangotea",
"runtime": "python3.12",
"s3_bucket": "Name-bucket-s3"
}
}