
Здравствуйте, сегодня я пишу и объясняю переменные среды в Django. Вам может быть интересно, что такое переменные среды. Итак, переменная среды существует вне вашего кода как часть среды вашего сервера. Это может помочь вам упростить и сделать более безопасным процесс запуска ваших скриптов и приложений. Такие вещи, как наши секретные ключи в нашем settings.py, наши учетные данные базы данных в нашем settings.py, наши секретные ключи API и т. д., всегда хранятся в наших переменных среды. Мы используем переменные среды для повышения безопасности и более плавного рабочего процесса.
Примечание. Переменные среды применимы не только к Django, вы можете использовать практически одно и то же в любом из ваших проектов на основе Python, будь то основной Python или Flask. Вы можете выполнить эту процедуру в любом из ваших проектов на основе Python.
Теперь у вас уже есть базовая информация о том, что такое переменные среды, давайте сразу перейдем к ней.
Шаг 1:
Мы собираемся создать файл «.env». Что такое файл .env? Файл .env — это файл, который на самом деле содержит некоторые секреты, касающиеся нашего проекта. Как я уже говорил выше, секретные ключи, учетные данные базы данных, пароли электронной почты и т. д. хранятся в файле .env. Итак, теперь в каталоге вашего проекта Django создайте файл с именем «.env» (PS: не включайте никаких расширений, только «.env»).
Итак, теперь вы можете хранить здесь свои секретные и конфиденциальные ключи. Здесь я собираюсь взять секретный ключ моего приложения и пароль электронной почты из settings.py в файл .env.
ФАЙЛ .env:
SECRET_KEY=s*og6c!d4cubukcksn$iksdw(m!%!4t7m+8q!62^f)s9d1=p8t2op
EMAIL_HOST_PASSWORD=1AM@pA$sWoRd
Теперь к следующему шагу
PS: не храните конфиденциальные ключи, такие как SECRET_KEY, в виде строки. В отличие от нашего файла settings.py, мы храним наши секретные ключи в виде строк, но здесь, в файле .env, НЕ храним их в виде строк. Также убедитесь, что перед знаком «=» и после него нет пробела. НАПРИМЕР
В НАШЕМ ФАЙЛЕ Settings.py:
SECRET_KEY=" s*og6c!d4cubukcksn$iksdw#(m!%!4t7m+8q!62^f)s9d1=p8t2op "
В НАШЕМ ФАЙЛЕ .env:
SECRET_KEY=s*og6c!d4cubukcksn$iksdw#(m!%!4t7m+8q!62^f)s9d1=p8t2op
Шаг 2:
Теперь мы собираемся установить пакет Python под названием Python-decouple. Decouple помогает организовать и отделить параметры от кода, чтобы можно было изменять параметры без необходимости их повторного развертывания. Итак, мы собираемся использовать этот пакет для реализации файла .env в нашем проекте Django.
Итак, теперь продолжайте и установите пакет из вашего терминала или Bash:
«pip install python-decouple»
Шаг 3.
Теперь следующее — фактическое использование. В файле settings.py
1. Импортируйте объект конфигурации:
«Отвязать от конфигурации импорта»
2. Получить параметры конфигурации; теперь я сохранил свой секретный ключ и пароль базы данных в файле .env, так что теперь я собираюсь его получить.
SECRET_KEY = config ("SECRET_KEY")
EMAIL_HOST_PASSWORD = config('EMAIL_HOST_PASSWORD')
Теперь, возможно, в вашем случае вы сохранили другие конфиденциальные ключи, такие как статус отладки, хост электронной почты, ключи электронной почты, секретные ключи API и т. д. Здесь я покажу вам, как их получить.
DEBUG = config('DEBUG', cast=bool)
EMAIL_HOST = config («EMAIL_HOST», по умолчанию = «localhost»)
EMAIL_PORT = config('EMAIL_PORT', cast=int)
NAME_OF_API_SECRET_KEY = config (‘NAME_OF_API_SECRET_KEY’)
Примечание. Мы передали еще один аргумент после DEBUG в конфигурации отладки. Переданный аргумент приведен. Цель передачи аргумента — сообщить config тип передаваемых данных. Таким образом, «cast=bool» сообщает config, что данные, которые мы передаем, являются логическим значением. То же самое касается и EMAIL PORT.
Если вы используете GIT, не забудьте git игнорировать ваш файл. Вы можете сделать это, включив файл «.env» в свой файл «.gitignore».