[Project] Threepark

[Capstone Design] 3. 백엔드 구현 - (2) Django Environ으로 환경변수 관리하기

mingyung 2024. 5. 14. 14:44

DRF를 이용해 서비스를 개발하기 위해서 관리해야 할 환경변수들을 Django Environ을 통해 관리할 수 있다.

특히 환경변수나 API키 등 외부로 유출되면 안되는 정보는 이를 통해 관리해야 한다.

 

설치

pip install django-environ

 

.env 생성

프로젝트의 루트에 .env 파일을 먼저 생성해준다.

 

생성 후에는 꼭 gitignore파일에 .env를 추가하여 깃허브에 올라가지 않도록 한다.

 

install django-environ

다음을 터미널에 입력하여 django-environ을 설치한다.

pip install django-environ

 

 

.env 작성

환경변수로 지정해야 하는값들을 env에 정의한다.

다음과 같이 작성해야 한다.

SECRET_KEY='django-insecure-...'
DEBUG=True
# MySQL DB
DB_NAME='localdb'
...

 

이때 주의할 점은 키와 값 사이에 띄어쓰기를 포함해서는 안된다는 것이다.

# 틀린 예시
DB_NAME = 'localdb'

# 올바른 예시
DB_NAME='localdb'

 

 

settings.py 작성

settings.py에 다음을 추가한다.

import environ
...
env = environ.Env(DEBUG=(bool, False))
environ.Env.read_env(os.path.join(BASE_DIR, '.env'))
...


# 이제는 환경변수가 들어갈 자리를 다음처럼 바꾸어 작성해준다.
SECRET_KEY = env('SECRET_KEY')
DEBUG = env('DEBUG')
...

 

 

migrate

settings.py작성을 마쳤다면 migrate를 진행한다.

python manage.py migrate