이전 글에서는 secrets.json 파일을 이용하여 secrets key를 settings.py에서 숨기는 법을 알아보았다.
이번에는 환경변수를 통해 비밀스럽게 유지되어야 하는 정보들을 관리하는 법을 알아보자.
API key를 사용하는 경우가 많은 경우 이 방법을 사용하는 것이 좋을 것이다.
먼저 django-environ 라이브러리를 설치한다.
(1) django-environ 설치
pip install django-environ
그러면 라이브러리가 설치가 된다.
그 다음 manage.py (BASE_DIR)가 있는 디렉토리에 .env
라는 파일을 만들어준다.
(2) .env 파일에 변수 삽입
env 파일에는 변수와 값 사이에 공백이 없게
넣어야 한다.
간단히 SECRET_KEY와 DEBUG 정보를 넣어보았다.
# secret_key 에는 각자의 비밀키 넣기
SECRET_KEY='secret_key'
DEBUG=True
이렇게 파일을 작성하였다면 settings.py에 적용을 시켜야 한다.
(3) settings.py에 적용
#environ을 기존 import에 추가
import environ
env = environ.Env(DEBUG=(bool, True)) #환경변수를 불러올 수 있는 상태로 세팅
#환경변수 파일 읽어오기
environ.Env.read_env(
env_file=os.path.join(BASE_DIR, '.env')
)
SECRET_KEY = env('SECRET_KEY') #SECEREY_KEY 값 불러오기
DEBUG = env('DEBUG') #DEBUG 값 불러오기
이렇게 한다면 환경변수에 저장된 값들을 읽어올 수 있게 된다.
그리고 .env 파일을 .gitignore
에 등록해 커밋이 안되도록 하자.