본문 바로가기

장고(DJango)

[Django] 장고 settings.py 시크릿키 등 중요정보 ini파일로 관리하기

깃헙 같은 곳에 프로젝트를 올릴 때 중요한 정보들은 올리지 않고 따로 관리해 주어야 한다.

여러 방법 중 하나인 ini 파일을 생성해서 중요 정보를 저장하고, 불러와서 사용하는 방법에 대해 배워보자.

 

파이썬 표준 라이브러리에 ini 파일 읽는 패키지가 있다.

import configparser

 

우선 ini 파일을 하나 만들어 보자.

settings의 secret key는 노출되면 안되기 때문에 이 정보를 ini파일에 다음과 같이 저장한다.

ini 파일은 프로젝트 폴더에 저장한다. (manage.py가 저장되어 있는 폴더)

 

[SETTING]
SECRET_KEY = 당신의비밀키

이제 settings.py로 돌아가서 ini파일에 저장해둔 secret key를 가져오자.

 

import configparser
import os

# secret key에 % 같은게 들어 있으면 에러가 발생하는데 그걸 무시하게 하는 매개변수
config = configparser.ConfigParser(interpolation=None)
config.read(os.path.join(BASE_DIR, 'config.ini'))


SECRET_KEY = config['SETTING']['SECRET_KEY']

 

이제 깃헙에 안전하게 푸쉬 하면 된다. 단 ini 파일을 업로드 해버리는 실수는 하지않도록 주의해야 한다.


참고

https://stackoverflow.com/questions/14340366/configparser-and-string-with

https://minwook-shin.github.io/python-make-config-file-using-standard-library/