출처: https://meyouus.tistory.com/64 [정보 공유 - For Me For You For Us]
본문으로 바로가기

이번에는 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을 사용하기에는 매우 유용할 것이다.