장고의 SECRET_KEY와 같은 경우, 로컬에서는 문제가 되지 않지만 배포시에 노출되면 위험할 수 있습니다.
또한, 여러 노출되면 안되는 여러 변수들을 관리하기 위해서 저는 외부 패키지인 django-environ를 이용해 이를 관리해보도록 하겠습니다.
1. django-environ 패키지 설치
pip install django-environ
2. .env 파일 세팅
manage.py 파일과 같은 위치에 .env 파일을 만들어줍니다.
그리고 key=value 의 형태로 .env 파일에 들어가야 하는 변수를 적습니다. (띄어쓰기 하면 안돼요!!)
저는 SECRET_KEY="나의 장고 시크릿 키" 를 적어두었습니다.
3. settings.py 설정
settings.py 윗 부분에 다음과 같은 내용을 추가합니다.
import os
import environ
env = environ.Env(
DEBUG=(bool, False)
)
environ.Env.read_env(os.path.join(BASE_DIR, '.env'))
그리고 원래는 그대로 노출되어있었던 장고의 시크릿 키를 env에서 불러와 다음과 같이 쓰면 됩니다.
SECRET_KEY = env('SECRET_KEY')