Здравствуйте, сегодня я пишу и объясняю переменные среды в 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».