Django SECRET KEY 관리

HS L·2023년 4월 24일
0

내일배움캠프

목록 보기
38/73

Django SECRET KEY 관리

dotenv를 사용한 Django SECRET KEY 분리 설정

dotenv 사용

dotenv pip 설치

터미널에서 필요한 pip를 설치한다.

pip install django-dotenv

dotenv

'.env' 파일 생성

manage.py와 같은 경로상에 '.env'파일을 생성한다.
settings.py에 있는 SECRET_KEY를 '.env'파일에 옮긴 후 저장한다.

settings.py 설정

settings.py에서 os를 import한다.
기존 SECRET_KEY 값이 있던 자리에 '.env'로 옮긴 값을 불러올 수 있도록 설정해준다.

import os
...
SECRET_KEY = os.environ.get('SECRET_KEY')
...

manage.py 설정

manage.py에서 dotenv를 import한다.
해당 위치에 아래 코드를 넣어준다.

import dotenv
...
...
if __name__ == '__main__':
    dotenv.read_dotenv()    ← 추가가 필요한 부분
    main()

.gitignore 설정

'.gitignore'에 '.env'를 추가해서 github에 올라가지 않도록 설정한다.

파일 분리

파일 생성

manage.py와 같은 경로상에 SECRET_KEY를 보관할 파일을 생성한다.
settings.py에 있는 SECRET_KEY를 생성한 파일에 옮긴 후 저장한다.

ex)
my_settings.py
- <파일명>.py

settings.py 설정

settings.py에서 시크릿키 파일을 import한다.
기존 SECRET_KEY 값이 있던 자리에 옮긴 값을 불러올 수 있도록 설정해준다.

import my_settings
SECRET_KEY = my_settings.SECRET_KEY["secret"]

이미 SECRET_KEY가 노출된 경우

SECRET_KEY를 재발급 받은 후 '.env' 파일에서 변경해준다.
재발급 명령어

python -c 'from django.core.management.utils import get_random_secret_key; print(get_random_secret_key())'
profile
식이

0개의 댓글