안녕세계

[장고 AtoZ] settings.py 파일 분할 본문

[장고 AtoZ] settings.py 파일 분할

Junhong Kim 2018. 2. 5. 16:47
728x90
반응형

안녕하세요~

이번 포스팅에서는 settings.py를 환경에 따라서 분리해보는 작업을 해보겠습니다.


Application을 배포할 때 장비에 따라 필요한 라이브러리나 데이터베이스 정보 등 설정 정보가 다를 수 있습니다.

이때 django 프로젝트를 생성할 때 settings.py가 만들어지는데 설정 정보를 각각 다르게 지정할 수 있습니다.


[ 기존 프로젝트 구조 ]



[ 변경된 프로젝트 구조 ]


기존 settings.py에 작성된 내용들을 django-atoz/tutorial/tutorial/settings/base.py 로 변경해주세요.


base : 모든 환경에 필요한 공통된 설정 정보를 저장할 파일이 base.py 이며 기존 프로젝트의 settings.py의 정보를 복사합니다.

local, development, production 에는 base.py 내용을 import 합시다.



from [django-project-name].settings.base import * 


위 코드를 통해 base.py에 있는 파일을 불러옵니다.

또한 분리할 정보 DEBUG나 DATABASES 가 있다면 base 에서 지우고 환경에 맞는 파일에 코드를 작성합니다.


또한, 우리가 이전에 SECRET KEY를 불러오기 위한 경로가 한 depth 증가했으므로 base.py에서 변경해줍니다.


위 작업을 모두 끝냈다면 서버를 실행할 때 변경된 설정 파일을 읽도록 해야합니다.

이제 서버를 구동할 때,


python manage.py runserver --settings=[django-project-name].settings.local

python manage.py runserver --settings=[django-project-name].settings.development

python manage.py runserver --settings=[django-project-name].settings.production


처럼 실행하여 원하는 환경으로 애플리케이션을 구동할 수 있습니다!




자.. 드디어 께끗한 환경(?)에서 장고 REST API를 만들 준비를 완료했습니다!!

이제 다음 포스팅에서는 DRF(django-rest-framework)를 활용하여 REST API를 만들어보겠습니다!!




[추가 Tip]

wsgi.py 에서 기본 deafult 를 변경할 수 도 있습니다.



728x90
반응형
Comments