Переменные окружения (.env)¶
Переменные окружения используются для настройки параметров, которые могут изменяться в зависимости от среды выполнения. Они определяются в файле .env в корне проекта или через переменные среды ОС. Для загрузки и использования переменных применяется модуль environ и файл settings_envs.py.
Пример использования¶
import environ
import os
from manage import BASE_DIR
env_path = os.path.join(BASE_DIR, ".env")
environ.Env.read_env(env_path)
env = environ.Env(...)
DB_HOST = env("DB_HOST", default="0.0.0.0")
EMAIL_HOST = env("EMAIL_HOST")
Преимущества¶
- Гибкость: Легко переключаться между различными конфигурациями без изменения кода.
- Безопасность: Конфиденциальные данные, такие как пароли и ключи API, не хранятся в коде.
Рекомендации¶
- Используйте
.envфайл для локальной разработки и переменные среды для продакшн-среды. - Не добавляйте
.envфайл в систему контроля версий.
Реализация переменных окружения в системе¶
Переменные окружения определяются в файле .env в корне проекта или через переменные среды ОС. Для загрузки и использования переменных применяется модуль environ и файл settings_envs.py (путь: apps/ibp/settings_envs.py):
import environ
import os
from manage import BASE_DIR
env_path = os.path.join(BASE_DIR, ".env")
environ.Env.read_env(env_path)
env = environ.Env(...)
В файле settings.py (путь: apps/ibp/settings.py) переменные окружения используются для настройки базы данных, почты, путей, флагов и т.д. Пример:
DB_HOST = env("DB_HOST", default="0.0.0.0")
EMAIL_HOST = env("EMAIL_HOST")
Список всех переменных и их описание см. в разделе "Начало работы": - Начало работы: Переменные окружения