[python] Django 프로젝트에서 python-dotenv를 사용하여 환경 설정하기

소개

Django 프로젝트를 개발하다보면 환경 변수 설정이 필요한 경우가 많습니다. 이러한 환경 변수를 손쉽게 관리하기 위해 python-dotenv 라이브러리를 사용할 수 있습니다. python-dotenv는 .env 파일에 정의된 환경 변수를 읽어와서 Django 프로젝트에서 사용할 수 있도록 도와줍니다.

python-dotenv 설치하기

먼저, python-dotenv를 설치해야 합니다. 아래의 명령어를 터미널에서 실행하여 라이브러리를 설치할 수 있습니다.

pip install python-dotenv

.env 파일 생성하기

Django 프로젝트의 루트 디렉토리에 .env 파일을 생성합니다. 이 파일에는 환경 변수를 저장할 수 있으며, 환경 변수는 다음과 같이 KEY=VALUE 형식으로 작성합니다. 예를 들어, 데이터베이스 연결 정보를 환경 변수로 설정하고 싶다면 다음과 같이 작성할 수 있습니다.

DB_NAME=mydatabase
DB_USER=myusername
DB_PASSWORD=mypassword

settings.py 파일에 dotenv 추가하기

Django 프로젝트의 settings.py 파일에 python-dotenv를 추가하여 .env 파일에서 환경 변수를 로드하도록 설정합니다. 아래의 코드를 settings.py 파일 상단에 추가합니다.

import dotenv
dotenv.load_dotenv()

위의 코드는 .env 파일을 로드하고 환경 변수를 현재 환경과 매핑합니다.

환경 변수 사용하기

이제 .env 파일에서 정의한 환경 변수를 Django 프로젝트에서 사용할 수 있습니다. 예를 들어, 데이터베이스 연결 정보를 활용하려면 다음과 같이 작성할 수 있습니다.

import os

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.postgresql',
        'NAME': os.getenv('DB_NAME'),
        'USER': os.getenv('DB_USER'),
        'PASSWORD': os.getenv('DB_PASSWORD'),
        'HOST': 'localhost',
        'PORT': '',
    }
}

위의 코드에서 .getenv('DB_NAME')을 통해 .env 파일에서 정의한 DB_NAME 환경 변수의 값을 가져옵니다.

결론

python-dotenv를 사용하면 Django 프로젝트에서 환경 변수를 손쉽게 관리할 수 있습니다. .env 파일을 생성하고, settings.py 파일에서 python-dotenv를 로드하고, 환경 변수를 사용하여 설정값을 가져오는 방법에 대해 알아보았습니다. 이제 환경 변수를 사용하여 프로젝트를 더 유연하고 관리하기 쉽게 개발할 수 있습니다.

참고 자료