반응형
django-dotenv
프로젝트폴더에 .env
라는 파일을 만든 후 파일 안에 수 많은 variable(변수)들을 정의한 후
사용중인 프로세스 즉, 코드에서 .env 파일로부터 변수를 읽어 사용할 수 있다.
이렇게 하면 보호가 필요한 데이터베이스나 메일서버 아이디/비밀번호 등을 환경변수(enviroment)에 정의해 두기 git 같은 곳에 공개되지 않도록 숨길 수 있게 된다.
👉 https://github.com/jpadilla/django-dotenv
👉 django-dotenv 설치
$ pip install django-dotenv
👉 django-dotenv 사용
- 프로젝트 폴더 내에 .env 파일 생성 후 보호가 필요한 변수 정의
- 예) mysql 데이터베이스 계정 정보 저장
MYSQL_USERNAME = "아이디" MYSQL_PASSWORD = "비밀번호"
- manage.py 수정
- dotenv 추가
- main() 함수 call 하기 전에 dotenv를 읽을 수 있도록 선언
#!/usr/bin/env python import os import sys import dotenv if __name__ == "__main__": dotenv.read_dotenv() # ... 생략 ...
- .env 정보 사용
os.environ.get("변수")
형태로 사용한다.- 예) settings.py 에 mysql 계정 정보 사용
DATABASES = { 'default': { 'ENGINE': 'django.db.backends.mysql', 'NAME': '데이터베이스명', 'USER': os.environ.get("MYSQL_USERNAME"), 'PASSWORD': os.environ.get("MYSQL_PASSWORD"), 'HOST': '데이테베이스 IP 주소', 'PORT': '데이터베이스 포트', } }
반응형
'Python > Django' 카테고리의 다른 글
[Django][Error] CommandError: Can't find msguniq. Make sure you have GNU gettext tools 0.15 or newer installed. (0) | 2020.01.10 |
---|---|
[Django] Django custom template tags (0) | 2020.01.09 |
[Django] csv.writer 한글 입력 (1) | 2019.09.05 |
[Django] Apache + Virtualenv 배포하는 방법 (0) | 2019.09.04 |
[Django] Debug Toolbar 설치하기 (0) | 2019.08.28 |