Python/Django

[Django] django-dotenv 설정

yubi5050 2022. 8. 8. 02:47

.env 는 환경변수를 .env 파일(unicode 된 것 저장 가능)에 저장 및 로드하는 의존성 모듈로, 개발 과정 중 서버 주소, 고유 API KEY 값, id, pwd 등 필요한 정보들 저장한다.

용도에 따라 다음과 같이 분류 할 수 있다.

- .local.env : local 개발환경에서의 env 
- .dev.env : demo 환경에 대한 env
- .prod.env. : production에 대한 env

 

아래 예제는 Django Project Key / AWS IP Key등을 셋팅하기 위에서 .env 파일을 만들어 활용한다.

 


📌 1. Django dot-env 패키지 설치

$ pip install django-dotenv

 

📌 2. .env 파일 작성 

## Django Key
SECRET_KEY = '<your key>'

## AWS
AWS_ACCESS_KEY = "<aws key>"
AWS_SECRET_KEY = "<aws key>"
AWS_BUCKET_NAME = "<aws bucket name>"
REGION_NAME = "ap-northeast-2"

## DB
LOCAL_ENGINE = 'django.db.backends.postgresql'
LOCAL_NAME = '<db name>'
LOCAL_USER = '<db user>'
LOCAL_PASSWORD = '<db password>'
LOCAL_HOST ='127.0.0.1'
LOCAL_PORT ='5432'

 

📌 3. settings.py 작성

import dotenv
dotenv.read_dotenv()

DATABASES = {
    'default': {
        'ENGINE': os.environ.get("LOCAL_ENGINE"),
        'NAME': os.environ.get("LOCAL_NAME"), # Schema Name
        'USER': os.environ.get("LOCAL_USER"),
        'PASSWORD': os.environ.get("LOCAL_PASSWORD"), # PASSWORD NAME
        'HOST':os.environ.get("LOCAL_HOST"),
        'PORT':os.environ.get("LOCAL_PORT"),
    }
}