Django – settings.py

1. settings.py 연결 해제 이유

프로젝트에서 여러 settings.py를 사용해야 하는 상황이 있습니다.

대표적으로 실제 프로덕션 환경과 개발을 위한 테스트 서버 환경이 있습니다.

DEBUG 값과 데이터베이스 연결 옵션은 다를 수 있습니다.

이때 if 문으로 settings.py나 브랜치에 값을 다시 쓰면

관리하기 어렵고 구성 파일이 큽니다.

2. 별도의 settings.py

프로덕션 환경과 개발 환경의 두 settings.py가 다음과 같다고 가정합니다.

settings.prod.py
settings.dev.py

연결이 끊어진 settings.py는 –아이디어 옵션으로 표기하여 사용하실 수 있습니다.

python3 manage.py runserver --settings=mysite.settings.prod
python3 manage.py runserver --settings=mysite.settings.dev

3. 편리한 사용을 위해 환경 변수로 등록

기본적으로 장고 DJANGO_SETTINGS_MODULE 환경 변수의 값은 settings.py의 기본 경로로 사용됩니다.

export DJANGO_SETTINGS_MODULE=mysite.settings.dev

위와 같이 환경 변수를 설정하면 매번 –settings 옵션을 지정하지 않아도 개발 환경 설정으로 적용됩니다.

별칭 설정을 통해 더욱 편리하게 사용하세요.

# ~/.bashrc 또는 ~/.zshrc 등 자신의 서버 설정 파일을 수정한다
alias dev='export DJANGO_SETTINGS_MODULE=mysite.settings.dev;source /project/mysite/venv/bin/activate'