Dot Env - NurOrNuLL/ESDP-AP-5-6-TEAM-2 GitHub Wiki
Dot Env
Установка
Установка python-dotenv:
$ pip install python-dotenv
Создать файл:
.
├── .env
└── settings.py
Добавить .env в файл .gitignore.
Внести переменные окружения в файл .env:
ENV_VAR="variable_value"
Внести в файл settings.py:
import os
from dotenv import load_dotenv
load_dotenv('.env')
Внести в файл manage.py:
import os
import sys
import dotenv
if __name__ == "__main__":
dotenv.read_dotenv()
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "project.settings")
try:
from django.core.management import execute_from_command_line
except ImportError as exc:
raise ImportError(
"Couldn't import Django. Are you sure it's installed and "
"available on your PYTHONPATH environment variable? Did you "
"forget to activate a virtual environment?"
) from exc
execute_from_command_line(sys.argv)
В метод read_dotenv() можно передать точный адрес к файлу .env .
Для изменения пути:
read_dotenv(override=True).
Если вы запускаете Django с помощью WSGI, для загрузки файла .env добавьте в файл wsgi.py:
import os
import dotenv
from django.core.wsgi import get_wsgi_application
dotenv.read_dotenv(os.path.join(os.path.dirname(os.path.dirname(__file__)), '.env'))
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "project.settings")
application = get_wsgi_application()
Для самостоятельной загрузки конфигураций из существующего файла .env:
import os
form dotenv import load_dotenv, find_dotenv
Вариант 1
load_dotenv(os.join(os.dirname(__file__), '.env')
Вариант 2
load_dotenv(find_dotenv(usecwd=True))