본문 바로가기
Programming/Python

[ Django ] Django-environ 라이브러리를 활용한 SECRET_KEY 숨기기

by 코뮤(commu) 2021. 3. 21.
728x90
반응형

 

 

 

 

django-environ.readthedocs.io/en/latest/

 

Welcome to Django-environ’s documentation! — Django-environ 0.4.4 documentation

Value from environment or default (if set)

django-environ.readthedocs.io

 

 

장고개발을 하다보면, 메인 app에 노출되어서는 안되는 비밀키가 들어있다.

 

 

비밀키는 메인 app 폴더안의 settings.py에 들어있다.

 

 

얘는 배포할때 노출되면 안되니까, 다른 파일을 만들어서 불러오는 식으로 코딩이 진행되어야 한다.

 

 

django-environ 을 이용해보자.

 

 

 

우선 터미널 창에서 php install django-environ 을 입력해 라이브러리를 설치해보자.

 

 

 

 

다 설치를 했으면 .env 파일을 만들어준다.

파일 형식은 텍스트로 했다.

 

그 파일의 내용은 아래 코드를 붙여넣으면 된다.

 

 

DEBUG=on
SECRET_KEY=your-secret-key
DATABASE_URL=psql://urser:un-githubbedpassword@127.0.0.1:8458/database
SQLITE_URL=sqlite:///my-local-sqlite.db CACHE_URL=memcache://127.0.0.1:11211,127.0.0.1:11212,127.0.0.1:11213 REDIS_URL=rediscache://127.0.0.1:6379/1?client_class=django_redis.client.DefaultClient&password=ungithubbed-secret

 

 

위 코드는 물론 링크에 다 있는 내용이다.

 

 

 

위 코드에서,

 

 

SECRET_KEY=

 

이후에 자신의 secret key 를 넣어주면 된다.

 

 

 

 

그리고 settings.py 로 돌아와서,

 

위 코드를 붙여넣어주자.

 

 

 

import os,environ
env = environ.Env(
    # set casting, default value
    DEBUG=(bool, False)
)

# Build paths inside the project like this: BASE_DIR / 'subdir'.
BASE_DIR = Path(__file__).resolve().parent.parent

# reading .env file
environ.Env.read_env(
    env_file=os.path.join(BASE_DIR, '.env')
)

 

 

위 코드 중 BASE_DIR 은 미리 작성되어 있으니,

 

기존에 있던 BASE_DIR 은 삭제하고 붙여넣으면 된다.

 

 

 

만약 깃을 사용하고 있다면, .gitignore 파일에 .env 파일도 추가해줘야한다.

 

 

 

 

 

 

 

 

728x90
반응형