Я разрабатываю проект для своего университета и использую Django и Heroku. Но Heroku не сохраняет мои статические файлы, и по этой причине мне порекомендовали использовать Amazon S3 для хранения статических файлов и загрузки некоторых PDF-файлов, которые я сгенерировал. Я пытался заставить мое приложение загружать все статические файлы с использованием collectstatic, но каждый раз, когда они генерируются в папке staticfiles в моем проекте, и я хочу, чтобы они были загружены в S3.
Я пытался следовать некоторым руководствам, таким как:
Перепробовал все возможные способы настройки файла настроек, но ничего не работает.
Вот как выглядят файлы settings.py:
AWS_ACCESS_KEY_ID = 'Access key'
AWS_SECRET_ACCESS_KEY = 'secret access key'
AWS_STORAGE_BUCKET_NAME = 'name of the bucket'
AWS_DEFAULT_ACL = 'public-read'
AWS_S3_CUSTOM_DOMAIN = '%s.s3.amazonaws.com' % AWS_STORAGE_BUCKET_NAME
AWS_S3_OBJECT_PARAMETERS = {'CacheControl': 'max-age=86400'}
AWS_LOCATION = 'static'
DEFAULT_FILE_STORAGE = 'storages.backends.s3boto3.S3Boto3Storage'
STATICFILES_STORAGE = 'storages.backends.s3boto3.S3Boto3Storage'
STATIC_URL = 'https://%s/%s/' % (AWS_S3_CUSTOM_DOMAIN, AWS_LOCATION)
STATICFILES_STORAGE = 'storages.backends.s3boto3.S3Boto3Storage'
Это мои установленные приложения.
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'storages',
"bootstrap4",
]
Я также установил библиотеки boto3 и django-storages
Когда я делаю колдстатик, результат будет:
You have requested to collect static files at the destination
location as specified in your settings:
my project folder
This will overwrite existing files!
Are you sure you want to do this?
Type 'yes' to continue, or 'no' to cancel: yes
0 static files copied to 'my project folder', 163 unmodified, 373 post-processed.
Process finished with exit code 0
Я не понимаю, почему django сохраняет файлы в моей папке, когда код говорит загружать их в s3.