Я готовлюсь к работе над своим первым профессиональным проектом Django, и у меня возникают проблемы с переменными среды для защиты приложения.До сих пор мне удалось создать локальный файл для хранения всех переменных на моем компьютере ...
env_variables.py
import os
db_user = os.environ.get('db_user')
db_password = os.environ.get('db_password')
# AWS DJANGO
export AWS_ACCESS_KEY_ID = "access_key"
export AWS_SECRET_ACCESS_KEY = "secret_key"
export AWS_STORAGE_BUCKET_NAME = "bucket_name"
print(db_user)
print(db_password)
Я использовалНастройки среды (Windows) для создания имени пользователя и пароля.Когда я запускаю файл, они работают.Я использую свои учетные данные AWS, чтобы проверить это.У меня сложилось впечатление, что Django может получить доступ к этой информации, независимо от того, где она находится на моем локальном компьютере.Поправьте меня, если я ошибаюсь.
settings.py
...
AWS_ACCESS_KEY_ID = os.environ.get('AWS_ACCESS_KEY_ID')
AWS_SECRET_ACCESS_KEY = os.environ.get('AWS_SECRET_ACCESS_KEY')
AWS_STORAGE_BUCKET_NAME = os.environ.get('AWS_STORAGE_BUCKET_NAME')
...
Я знаю, что Django не обращается к этому файлу, потому что я получаю 400 за все моимедиа-файлы, но это работает, когда я помещаю ключи прямо в файл settings.py.Я полагаю, что пропускаю несколько шагов здесь.Я видел других Python-кодеров, способных делать это без необходимости использовать что-то вроде django-environment или других пакетов.Если кто-то может помочь, это будет очень признательно, потому что я хотел бы сделать это для всех своих проектов.
Редактировать Gunicorn моего Procfile - web: gunicorn project_name.wsgi
Я не изменил свой файл wsgi.