반응형
기존에는 settings.py안에 들어 있는 시크릿 키 값을 가상환경 변수를 secret.json을 통해서 관리했었는데
django - environ을 이용하여 환경 변수를 관리하는 법을 알게되었다.
Django-environ 설치
우선 django의 envirion라이브러리를 설치해준다
pip install django-environ
설치후 아래 명령어를 통해서 설치가 잘 되 었는지 설치된 버전이 무엇인지 확인 할 수 있다.
pip freeze
env파일에 변수 넣기
왼쪽 사진 처럼 .env 파일을 생성해주고 .env 파일안에 아래와 같이 값을 넣어주면 된다.
주의 할 점은 변수와 변수 사이에 공백 없이 작성해 주어야한다.
SECRET_KEY='시크릿 키 값'
settings.py에 적용
settings.py로 이동하여 변경해줘야한다.
from pathlib import Path
import os
import environ
# Build paths inside the project like this: BASE_DIR / 'subdir'.
BASE_DIR = Path(__file__).resolve().parent.parent
# Quick-start development settings - unsuitable for production
# See https://docs.djangoproject.com/en/4.2/howto/deployment/checklist/
env = environ.Env(DEBUG=(bool, True))
environ.Env.read_env(env_file=os.path.join(BASE_DIR, ".env"))
SECRET_KEY = env("SECRET_KEY")
# SECURITY WARNING: don't run with debug turned on in production!
DEBUG = True
변경해준 사항은 아래와 같다.
1. os와 environ을 import 해준다.
2. 환경 변수를 불러올 수 있는 상태 셋팅한다.
3. 환경 변수 파일을 .env로 설정하여준다
4. SECRET_KEY 값을 환경 변수에서 불러온다.
추가 설정
혹시나 .env가 git에 푸쉬가 되면 안되기 때문에 gitignore파일안에 .env 값을 넣어준다.
반응형
'Django > DRF' 카테고리의 다른 글
Django - settings.py 분리하기(base.py/local.py) (0) | 2023.05.03 |
---|---|
Django - pipenv로 패키지 관리, 사용 (0) | 2023.04.18 |
login - logout 기능 구현 (0) | 2023.03.21 |
user/models.py - user모델 만들기 (0) | 2023.03.21 |
HTML에서 보낸 데이터 어드민 사이트에서 수락 거절 기능 (0) | 2023.02.23 |