Django Secret Key Hiding

Reading time ~1 minute

Django

Secret Key 숨기기

django project의 settings.py에 있는 SECRET_KEY를 숨겨야 한다. 이럴 경우 데이터를 외부에 저장해서 불러오도록 변경하는 것이 좋다.

>>> take .config_secret

.config_secret 디렉토리 생성

>>> touch settings_common.json

JSON 파일 생성

{
	"django": {
		"secret_key": "<settings.py의 secretkey>"
	}
}

이렇게 파일을 제작 한다음 settings.py에 들어간다.

# ROOT_DIR 변수 생성
# instagram_project/
ROOT_DIR = os.path.dirname(BASE_DIR)

# CONFIG_SECRET_DIR 변수 생성
# instagram_project/.config_secret/
CONFIG_SECRET_DIR = os.path.join(ROOT_DIR, '.config_secret')

# instagram_project/.config_secret/settings_common.json 파일을 열고 config_secret_common_str 변수에 저장 한다 .
with open(os.path.join(CONFIG_SECRET_DIR, 'settings_common.json')) as f:
    config_secret_common_str = f.read()

# json에서 받아온 문자열을 json.loads 함수를 이용해 dict 형태로 변경한다.
config_secret_common = json.loads(config_secret_common_str)
SECRET_KEY = config_secret_common["django"]["secret_key"]

settings.py의 SECRET_KEY에 받아온 문자열을 딕셔너리 형태로 찾아 넣는다.

Celery 데몬화

# Celery 데몬으로 관리하기### Celery 설정파일 작성하기```# vi /srv/celery/celery.confCELERYD_NODES="worker1"CELERY_BIN="/home/ubuntu/.pyenv/versions//bin...… Continue reading

EC2 배포 설정

Published on May 18, 2020