시크릿 키 분리 방법 3가지
1️⃣ secrets.json
secrets.json 파일 생성 - setting.py 수정 - secrets.json 파일 수정
장점 : 패키지 설치할 필요 없음, 파일 2개만 수정하면 끝.
단점 : settings.py에 팔만대장경을 적어야 한다.
#settings.py
import os
import json
from django.core.exceptions import ImproperlyConfigured
secret_file = os.path.join(BASE_DIR, 'secrets.json')
with open(secret_file) as f:
secrets = json.loads(f.read())
def get_secret(setting):
try:
return secrets[setting]
except KeyError:
error_msg = "Set the {} environment variable".format(setting)
raise ImproperlyConfigured(error_msg)
SECRET_KEY = get_secret("SECRET_KEY")
# secrets.json # " " 안에 넣어줘야함.
{
"SECRET_KEY" : "#######YOUR#######SECRET#######KEY#######"
}
2️⃣ django-dotenv
django-dotenv 패키지 설치 - .env 파일 생성 - settings.py 수정 - manage.py 수정 - .env파일 수정
장점 : 직관적인 설정방법으로 금방 외워서 할 수 있다.
단점 : 난 안됨😭
# settings.py
import os
SECRET_KEY = os.environ.get("SECRET_KEY")
#manage.py
import dotenv
if __name__ == '__main__':
dotenv.read_dotenv() # <<<이 부분 추가
main()
# .env
SECRET_KEY = '#######YOUR#######SECRET#######KEY#######'
3️⃣ decouple
decouple 패키지 설치 - .env파일 생성 - settings.py 수정 - .env 파일 수정
장점 : 매우 간단함.
단점 : 아직 못찾음.
# settings.py
from decouple import config
SECRET_KEY = config('SECRET_KEY')
# .env
SECRET_KEY = '#######YOUR#######SECRET#######KEY#######'
'Python > Django' 카테고리의 다른 글
Django 공식문서 읽기 - Customizing authentication in Django(1) (2) | 2023.04.30 |
---|---|
Django restframework 프로젝트 세팅과 진행 (0) | 2023.04.28 |
Drf simple JWT - Customizing token claims (1) | 2023.04.21 |
Serialization, Parse (0) | 2023.04.20 |
DJANGO 심화 (3) | 2023.04.18 |
댓글