저는 주로 Laravel/Symfony를 사용하는 PHP 경력을 갖고 있습니다. 최근 Django를 사용하기 시작했는데 환경변수를 .env 파일로 제공하는 방식을 재현해보고 싶었습니다.
개발자 서버를 시작하면 걱정할 필요 없이 .env가 로드되기를 원했습니다. 따라서 저는 다음 단계를 따랐습니다.
먼저 가상 환경을 만들고 프로젝트를 설정했습니다.
mkdir myproject cd myproject python3 -m venv ./venv echo vencv >> .gitignore pip install Django django-admin startproject mysite .
pip install python-dotenv
python-dotenv를 사용하면 .env 파일에서 환경 변수를 로드하는 것이 간단합니다.
from dotenv import load_dotenv load_dotenv()
문제는 이 코드를 어디에 넣을 것인가입니다. 매번 .env 파일을 로드하는 것은 지루할 수 있습니다. 이전에 언급한 설정을 기반으로 내 프로젝트는 다음과 같은 구조를 만들었습니다(단순화를 위해 일부 파일은 생략됨).
myproject/ ├── mysite/ │ ├── __init__.py │ ├── asgi.py │ ├── settings.py │ ├── urls.py │ └── wsgi.py └── .env
보시다시피 mysite 디렉토리는 모듈로 로드됩니다. 모든 환경 변수는 .env 파일에 저장됩니다. 이를 로드하기 위해 mysite/__init__.py 파일에 코드를 추가했습니다.
from dotenv import load_dotenv load_dotenv()
이렇게 하면 실행할 때마다 모든 환경 변수가 로드됩니다.
python manage.py runserver
이 접근 방식의 단점은 .env 파일을 변경할 경우 서버를 중지했다가 다시 시작하여 환경 변수를 다시 로드해야 한다는 것입니다.
위 내용은 Django 프로젝트에서 .env를 로드하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!