Python-decouple을 사용하여 장고 구성 파일 관리
왜 필요한가?
기본적으로 많은 도입 기사에서는 설정 파일에 각종 설정을 하드 코딩하고 있지만, 소위 SECRET_KEY나 환경 변수 등을 직접 하드 코딩하는 것은 운용적, 보안적인 관점 등에서 실용적으로 생각하면 좋지 않다 .
그래서 설정을 격리할 수 있는 모듈을 도입하고, 별도로 관리하고 거기에서 읽는 것이 하드 코딩을 피하는 수단이 된다.
Python에서는 Python-decouple이라는 모듈이 있으므로 Django에서 settings.py
를 예로 사용해 보겠습니다.
덧붙여 이번 작성한 프로젝트는 여기 로부터 볼 수가 있기 때문에 신경이 쓰이는 분은 부디.
소개
설치하고,
$ pip install python-decouple
$ django-admin startproject decoupleproject
프로젝트 만들기.
이미 Python-decouple을 설치했으므로 manage.py
와 동일한 디렉토리에 .env
파일을 만듭니다.
그리고, 여기에 각종 설정 파일로 하드 코딩하고 싶지 않은 정보를 .env
에 써, sttings.py
로 임포트하면 환경 마다 전환 유사를 할 수 있으므로 매우 유용합니다.
예를 들어 이번에는
settings.pyfrom decouple import config
# Build paths inside the project like this: os.path.join(BASE_DIR, ...)
BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
# Quick-start development settings - unsuitable for production
# See https://docs.djangoproject.com/en/3.0/howto/deployment/checklist/
# SECURITY WARNING: keep the secret key used in production secret!
SECRET_KEY = config('SECRET_KEY')
# SECURITY WARNING: don't run with debug turned on in production!
DEBUG = conig('DEBUG' default=False,cost=bool)
ALLOWED_HOSTS = config('ALLOWED_HOSTS',cost=Csv())
SECRET_KEY = '6@gw!zj8jjwjr%da0g=&1dzmhjbi3p%r@6157##n0oix#&ybv2'
DEBUG = True
ALLOWED_HOSTS = []
이런 글을 쓰면 외부에서 알고 싶지 않은 정보를 분리할 수 있습니다.
그 밖에도 데이터베이스의 접속 정보를 숨기는 모듈도 있으므로 조만간 소개하고 싶습니다.
수고하셨습니다.
Reference
이 문제에 관하여(Python-decouple을 사용하여 장고 구성 파일 관리), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/KueharX/items/52a7a4ed2daf88f20cc3
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
설치하고,
$ pip install python-decouple
$ django-admin startproject decoupleproject
프로젝트 만들기.
이미 Python-decouple을 설치했으므로
manage.py
와 동일한 디렉토리에 .env
파일을 만듭니다.그리고, 여기에 각종 설정 파일로 하드 코딩하고 싶지 않은 정보를
.env
에 써, sttings.py
로 임포트하면 환경 마다 전환 유사를 할 수 있으므로 매우 유용합니다.예를 들어 이번에는
settings.py
from decouple import config
# Build paths inside the project like this: os.path.join(BASE_DIR, ...)
BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
# Quick-start development settings - unsuitable for production
# See https://docs.djangoproject.com/en/3.0/howto/deployment/checklist/
# SECURITY WARNING: keep the secret key used in production secret!
SECRET_KEY = config('SECRET_KEY')
# SECURITY WARNING: don't run with debug turned on in production!
DEBUG = conig('DEBUG' default=False,cost=bool)
ALLOWED_HOSTS = config('ALLOWED_HOSTS',cost=Csv())
SECRET_KEY = '6@gw!zj8jjwjr%da0g=&1dzmhjbi3p%r@6157##n0oix#&ybv2'
DEBUG = True
ALLOWED_HOSTS = []
이런 글을 쓰면 외부에서 알고 싶지 않은 정보를 분리할 수 있습니다.
그 밖에도 데이터베이스의 접속 정보를 숨기는 모듈도 있으므로 조만간 소개하고 싶습니다.
수고하셨습니다.
Reference
이 문제에 관하여(Python-decouple을 사용하여 장고 구성 파일 관리), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/KueharX/items/52a7a4ed2daf88f20cc3텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)