이번에는 Youtube JustDjango의 Creating a Django Boilerplate 시리즈를 해보도록 하겠다.
www.youtube.com/watch?v=6PSZgVBXMdo&list=PLLRM7ROnmA9FgFlqn-HHBz0LJ62qJBwSw&index=3
Python Decouple이란 무엇인가?
Django
에 보면 SECRETE_KEYS
와 같은 부분들은 배포할때, 다른 사람들이 보지 못하게 해야 하는 경우가 있다. 또한, 보이지 못하게 할 뿐만 아니라, 다른 사람으로부터의 해킹도 방지할 수 있어야 한다. 이를 위해서는 Python Decouple
을 사용할 수 있다.
Python Decouple 적용시키기
>>> pip install python-decouple
위와 같은 코드를 쳐주고 완료 되면, 프로젝트 폴더 안에 .env
라는 파일을 만들어 준다.
# project folder structure
src
├── demo
├── .env
├── db.sqlite3
└── manage.py
Settings.py / .env 설정하기
다음으로는 src/demo/settings/base.py
에 있는 설정들을 바꿔줘야 한다:
# setttings.py
from pathlib import Path
import os
from decouple import config
BASE_DIR = Path(__file__).resolve().parent.parent.parent
SECRET_KEY = config("SECRET_KEY")
...
from decouple import config
를 해주고, SECRET_KEY = config("SECRET_KEY")
로 설정을 해준다. 이때, .env
는 다음과 같이 설정해주어야 한다:
# .env
SECRET_KEY=u(-)v=hsd3wn&yvfvqrsic!q@$@vw(hje3s5m9%e0yp_&ww!3^
# 여기의 SECRET_KEY는 실제 나의 SECRET_KEY와는 다른 KEY이다. 랜덤으로 바꿔주었다.
주의할 점은, SECRET_KEY
와 뒤의 값은 공백이 없어야 하고, =
사이에도 공백이 없어야 정상적으로 작동을 한다.
SECRET_KEYS 외의 값들도 적용 가능하다
이 포스팅의 예시에서는 가장 일반적인 SECRET_KEYS
만을 예로 들었으나, 이 외에 페이팔을 사용한다면 페이팔 사용자 아이디와 비밀번호를 숨기고 싶다던가, 다른 중요한 아이디나 비밀번호를 숨기고 싶다면 Python Decouple
을 사용하기에는 매우 유용할 것이다.