Jul.21.21

Prolouge

어찌저찌 프로젝트를 깃헙에 올렸다. 그런데 메일로 이런 게 왔다.

"저기요, 시크릿키 가리세요."

Primary plan

처음에는 파일 찾아서

SECRET_KEY = '***************'

이런 식으로 하려고 했다. 당장 편하긴 하지만 다시 생각해보면 따로 메모장에 남기고 나중에 다시 쓰거나 협업해야 할 때는 메모장에서 시크릿키를 붙여넣는 식으로 관리해야 한다. 좀더 좋은 방법이 있지 않을까?

Secondary

파이썬에는 python-decouple이라는 라이브러리가 시크릿키나 api키, DB 접근권한 같은 것을 관리하게 해준다.

How to do it?

  1. 먼저 설치.
$ pip install python-decouple
Collecting python-decouple
  Downloading python_decouple-3.4-py3-none-any.whl (9.5 kB)
Installing collected packages: python-decouple
Successfully installed python-decouple-3.4
  1. 프로젝트 최상단에 .env파일을 만들어서 시크릿키가 있는 한 줄을 복사해서 붙여넣는다.
SECRET_KEY = '...'
  1. setting.py에서 이렇게 수정한다.
# setting.py
import os
from decouple import config
...
lines of code
...
SECRET_KEY = config('SECRET_KEY')
...
  1. .gitignore에 .env를 추가해주면 시크릿키가 든 파일은 빠진 채 깃헙에 올라간다.

  2. 간편함을 즐긴다.

Epilogue

  1. .env파일을 decouple이 알아서 key, value로 바꿔주는 것 같다.
  2. 이렇게 하면 코드는 깃헙으로, 보안키 같은 건 개발팀 내부적으로 관리하면서 따로 코드변경하는 일을 없앨 수 있어서 좋다.

Reference

좋은 웹페이지 즐겨찾기