django 프로젝트를 그냥 github에 push 하면 아래와 같은 메일이 온다.
secret key는 django 보안에 중요하다. django 문서
때문에 secret key를 분리해서 관리하는 것이 좋다. 하지만 이미 github에 올라간 상태여서 settings.py을 수정 하더라도 과거 commit 기록을 보면 key가 노출 되어있다.
따라서 secret key를 재생성 하여 이를 분리 해줄것이다. 분리후 .gitignore를 통해 버전관리에서 제외 시킬것이다.
{
"SECRET_KEY": "new secret key"
}
import os, json
from django.core.exceptions import ImproperlyConfigured
secret_file = os.path.join(BASE_DIR, 'secrets.json') # secrets.json 파일 위치를 명시
with open(secret_file) as f:
secrets = json.loads(f.read())
def get_secret(setting, secrets=secrets):
try:
return secrets[setting]
except KeyError:
error_msg = "Set the {} environment variable".format(setting)
raise ImproperlyConfigured(error_msg)
SECRET_KEY = get_secret("SECRET_KEY")
secrets.json
같은상황 필요한 해답 깔금한 글 잘 읽었습니다~