데이터베이스, 메일서버 아이디/비밀번호 등을 settings.py에 직접 설정하는 것은 보안 상 매우 위험하다.
따라서 별도 파일을 만들어서 관리하는데 바람직한데 이 때 Django-dotenv를 통해 설정을 할 수 있다.
pip install django-dotenv
프로젝트 폴더에 .env 파일을 만든 후 파일 안에 변수로 각종 보안을 유지해야 되는 자료들을 작성한다.
SECRET_KEY = "xxxx"
ALGORITHM = "HS256"
DB_PASSWORD = "password"
from dotenv import load_dotenv
dotenv_path = join(dirname(__file__), '.env')
load_dotenv(dotenv_path)
SECRET_KEY = os.environ.get("SECRET_KEY")
HASH = os.environ.get("ALGORITHM")
DB_PASSWORD = os.environ.get("DB_PASSWORD")
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': 'trade',
'USER': 'root',
'PASSWORD': DB_PASSWORD,
'HOST': 'localhost',
'PORT': '3306',
}
}