본문 바로가기
TTL/13주차 ~ 16주차 TIL (11.21 ~ 12.16)

2022-11-22 TIL (dotenv로 환경변수 관리하기)

by dev_junseok 2022. 11. 23.

장고로 프로젝트를 개발하다 보면, 민감한 개인정보들이 소스코드에 포함이 되어서, 깃허브에 올리기 꺼려질 때가 있다.

 

그럴때 dotenv를 사용하여 민감한 정보들을 가린 상태로 개발을 하고 깃허브에 소스코드를 올릴 수 있다.

 

장고로 예를 들면 장고에 settings.py 에는 장고 시크릿 키가 있는데 이게 유출이 되면 나중에 배포를 했을때 위험할 수 있다.

 

참고로 Github에서는 친절하게 이런 정보가 커밋에 올라갔을 때, 메일로 경고해준다.

 

아래의 코드로 패키지를 설치한다.

pip install django-dotenv

 

다음은 manage.py에 해당 import 와 코드를 추가한다.

#manage.py 
 
import dotenv

if __name__ == "__main__":   # 아래의 코드 수정!
    dotenv.read_dotenv()  # 이 코드를 추가! 
    main()

 

 

다음은 settings.py 에서 시크릿키를 가려보겠다.

 

#settings.py

import os

SECRET_KEY = os.environ.get("SECRET_KEY")

 

다음은 manage.py와 같은 루트에 .env 파일을 생성해주고 다음과 같이 시크릿 키를 넣어주면 끝!

# .env

SECRET_KEY = "{나의 SECRET_KEY!!}"