반응형
장고 프로젝트를 Git에 업로드 하거나 배포할 때, 보안상으 이유로 Secret Key를 분리해야 합니다. 이번에는 Secret Key를 파일로 따로 관리하는 방법에 대해 알아보도록 하겠습니다.
- secrets.json 파일을 만들기
- 먼저 secret key를 담을 secrets.json 파일을 manage.py과 같은 위치에 만듭니다.
- 이 json file의 형식은 아래와 같습니다.
- "SECRET KEY" 부분에 본인의 SECRET KEY를 입력해주면 됩니다.
{ "SECRET_KEY" : "SECRET KEY" }
- settings.py을 수정해줍니다.
import os # json file을 읽기 위해 json module을 import 합니다. import json # Error 발생시 처리하기 위해 import 합니다. from django.core.exceptions import ImproperlyConfigured # 기존에 있던 BASE_DIR입니다. 아래 secret_file을 불러올 때 # 사용하기 때문에 BASE_DIR을 먼저 설정해줍니다. BASE_DIR = Path(__file__).resolve().parent.parent # 만들어두었던 json 파일을 불러옵니다. secret_file = os.path.join(BASE_DIR, 'secrets.json') # json 파일을 읽어 secret에 할당합니다. with open(secret_file) as f: secrets = json.loads(f.read()) # json 파일에 key를 확인하고 key가 없으면 KeyError를 출력합니다. def get_secret(setting, secrets=secrets): try: return secrets[setting] except KeyError: error_msg = "Set the {0} enviroment variable".format(setting) raise ImproperlyConfigured(error_msg) SECRET_KEY = get_secret("SECRET_KEY")
- .gitignore에 입력합니다.
- 아직 .gitignore에 입력하는 방법을 모르시는 분들은 아래 링크를 따라 들어가서 확인하시기 바랍니다.
- 이렇게 하면 Secret key를 본인만 알 수 있게 관리할 수 있습니다.
https://axce.tistory.com/11?category=994855
반응형
'BackEnd > Django' 카테고리의 다른 글
AbstractUser를 이용한 Custom User Field 확장 방법 (0) | 2022.01.10 |
---|---|
Django 장고 Form_valid 함수 (0) | 2021.11.01 |
Django 장고 ORM으로 OR/AND 사용하기(Q 사용) (0) | 2021.07.13 |
Django 외래키(Foreign Key)를 이용해 정보를 불러오는 방법 (6) | 2021.06.29 |
Django AbstractUser를 이용한 Custom User Field 확장 방법 (0) | 2021.06.28 |