여러 외부 API를 사용하기 위해 필요한 API Key 또는 Token 값들을 프로젝트 코드에 포함해서 저장할 경우에 Git에 노출되어 피해를 볼 수 있게 된다. 그래서 이를 해결하기 위한 방법으로 JSON 파일에 내용을 작성하고 그 값들을 장고에서 불러와 사용하면 된다.
프로젝트 구조
django_project
├── app
│ ├── __init__.py
│ ├── ....
│ └── wsgi.py
├── db.sqlite3
├── manage.py
├── secrets.json
├── .git
└── .gitignore
secrets.json에 내용 저장
아래와 같이 필요한 키 값이나 토큰 값을 입력하여 저장
{
access_token : "1600...Vbsk9"
access_secret : "bpgW...1mRl"
}
settings.py 작성
아래와 같이 경로를 지정하여 Json 파일을 가져와 읽게 되면 원하는 값을 활용할 수 있게 된다.
import sys
import json
# 파일의 경로를 지정
BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
ROOT_DIR = os.path.dirname(BASE_DIR)
SECRETS_PATH = os.path.join(ROOT_DIR, '.secrets.json')
# Json 형식의 파일 읽기
secrets = json.loads(open(SECRETS_PATH).read())
# imtes() 함수로 key와 value 값으로 가져옴
for key, value in secrets.items():
setattr(sys.modules[__name__], key, value)
.gitignore에 추가
.gitignore에 secrets.json을 추가하여 git에서 제외해야 할 파일로 지정해둔다. (가장 중요함 !!!)
secrets.json
'코딩공부 > Django' 카테고리의 다른 글
Python 라이브러리 의존성 확인하는 방법(pipdeptree) (0) | 2022.12.13 |
---|---|
DRF SerializerMethodField()로 모델 필드 변형하여 활용하기 (0) | 2022.12.08 |
DRF APIView로 좋아요 기능 구현_백엔드 (0) | 2022.12.02 |
상태코드 HTTP_204_NO_CONTENT 관련 에러 (0) | 2022.11.28 |
Django Queryset, 데이터베이스에서 원하는 데이터 조회 (0) | 2022.11.15 |
댓글