일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- docker
- 엑셀
- 수도권 근교
- 리엑트
- 함수
- 시놀로지나스
- 연곡해변
- 캠핑
- ReactNaitve
- SQL
- 맛집
- MSSQL
- 시놀로지
- 강릉
- reactnative
- Nas
- 캠핑장
- 장고
- react
- Expo
- 리액트
- Excel
- 나스
- react native
- Django
- synology
- 가상환경
- 서울
- Firebase
- apk
- Today
- Total
차근차근 생활 & 코딩
[DJANGO] 장고 settings 환경설정 분리 본문
환경 설정을 분리하는 이유
Django 프로젝트 진행 시 개발 환경과 실제 운영환경에 대해서 분리 할 필요가 있다.
개발 환경에서는 DEBUG = True, 실제 운영 환경에서 DEBUG = Flase로 작업을 진행한다. 아래와 같이 차이점을 확인해 보자.
위에 보는 화면과 같이 DEBUG = True 라고 써져 있는 부분이 있어요.
개발 환경에서 DEBUG = TRUE 작업 시 404에러가 발생하여 친절한 URL 설명을 알려줍니다.
하지만 실제 운영 환경에서는 유저들은 에러에 대한 URL 메세지 내용을 볼 필요가 없어 False 변경해서 실제 운영환경에 사용해요.
이제 차이점을 아셨나요?
하지만 코드를 계속 해서 변경하면 너무너무 번거럽겠죠? ㅠ_ㅠ
유저 분들께서 실행할 때 편할 수 있도록 개발 버전과 상용 버전을 분류 해서 해보도록 하겠습니다.
1단계
: 폴더를 생성한다.
2, 3 단계
: settings.py를 settings 폴더로 이동합니다.
4단계
: settings.py 파일을 base.py로 변경 합니다. ( 본인이 편한 파일명으로 변경하셔도 됩니다.)
- 위 단계별 작업이 완료 되었으면 개발 환경(Debug), 운영환경(deploy) 파일을 만들어 주도록 하겠습니다.
잘 따라 오셨나요?
그럼 위에 그림과 같이 파일이 생성되게 됩니다.
debug.py 파일과 deploy .py 파일을 생성해 준 후 각 각 파일에 실행이 될 수 있도록 내용을 넣도록 하겠습니다.
from .base import *
DEBUG = True
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.sqlite3',
'NAME': os.path.join(BASE_DIR, 'db.sqlite3'),
}
}
< debug.py >
from .base import *
DEBUG = False
ALLOWED_HOSTS = ['*']
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': 'name',
'USER': 'user',
'PASSWORD': 'password'
}
}
< deploy.py >
여기까지 오시느라 고생 많으셨어요.
파일 두개를 추가적으로 만들고 debug.py는 로컬 작업용으로 하시면 되며, deploy.py는 당연히 배포용으로 사용하시면 되겠죠.
이제 대부분 작업이 완료 된 것을 확인 할 수 있어요.
마지막으로 base.py 의 BASE_DIR에 내용을 변경 해주도록 하시면 됩니다.
변경 이유는 우리가 사용하는 설정 파일은 기본적으로 생성되는 settings.py 의 위치보다 한 단계 더
하위에 존재하므로 아래와 예제와 같이 같이 os.path.dirname()을 한 번 더 입력해서 수정해 줄 필요가 있다고 해요.
코드를 변경 하는것이 귀찮으니 아래 코드 복 붙 하시면 됩니다.
BASE_DIR = os.path.dirname(os.path.dirname(os.path.dirname(os.path.abspath(__file__))))
하지만 이렇게 세팅하고 실행을 못하면 의미가 없잔아요!?
이제 환경을 분리하여 실행을 하여야 하는데 실행방법에 대해서 알려주도록 하겠습니다.
마찬가지로 아래 코드를 복사해서 사용하시면 드디어 개발이 완료 됩니다.
python manage.py runserver --settings=mysite.config.settings.debug # 개발(디버그)용
python manage.py runserver --settings=mysite.config.settings.deploy # 배포(서비스)용
다들 고생하셨어요. ㅠ_ㅠ
드디어 셋업이 종료 되었네요.
설명이 도움이 되셨나 모르겠네요~~
다들 도움 되셨으면 합니다.
위 내용을 하기 귀찬으신 분들께서는 아래 github 주소로 받으셔서 테스트 하시면 됩니다.
'IT > DJANGO(장고)' 카테고리의 다른 글
[DJANGO] 장고 시작하기 - 튜토리얼 사이트 소개 (0) | 2021.07.27 |
---|---|
[DJANGO] 장고 ORM 정리 (0) | 2021.07.27 |
[DJANGO] 장고 유용한 패키지 & 라이브러리 - 추천 (0) | 2021.07.26 |
[DJANGO] 유용한 패키지 - Shell_plus (0) | 2021.07.26 |
[DJANGO] 장고 자동 로그아웃 (0) | 2021.07.25 |