장고 개발 환경에 따라 settings.py 분리하는 방법

2022. 3. 13. 21:36·Django

장고에서는 개발 환경에 따라 settings.py를 구분하여 목적에 맞게 서버 환경을 설정할 수 있습니다. 환경을 분리하는 이유는 원활한 협업, 코드의 유지 보수, 공개/비공개 처리, 라이브러리 및 데이터베이스 관리 등을 위해서입니다.

개발 환경에는 기본적으로 서버에 연결하지 않으나 공통 사항들을 공유하는 local과 base가 있으며, AWS S3, RDS 등에 연동한 development, 이를 실제로 배포하는 production이 있습니다.

장고 settings.py 분리하는 방법

  1. settings.py가 있는 로컬 환경에서 settings 디렉토리를 생성합니다.
mkdir settings
  1. 이를 패키지화 해서 사용할 것이므로 __init__.py를 생성해줍니다.
cd settings
touch __init__.py
  1. settings.py의 이름을 development.py로 변경하고 생성한 디렉토리를 이동합니다.
mv settings.py development.py
mv settings.py ./settings
  1. development.py 를 열어 BASE_DIR를 다음과 같이 설정하여 부모 디렉토리의 위치를 설정합니다.
BASE_DIR = Path(__file__).resolve().parent.parent.parent
  1. 다음으로 production.py를 만들어 다음과 같이 development.py를 상속받고, 변경 사항들을 추가로 지정해줍니다.
from .local import *

DEBUG = False
  1. 실행은 다음의 명령어로 가능합니다. 원하는 환경의 설정 파일을 실행해주면 이를 바탕으로 서버가 실행됩니다. 이 과정에서 충돌이 나지 않고 서버가 잘 실행된다면, 설정이 정상적으로 완료된 것입니다.
python manage.py runserver --settings=myproejct.settings.development
python manage.py runserver --settings=myproejct.settings.production

참고 자료:
https://ehfgk78.github.io/2018/02/02/Django-Settings_Requirements/
https://wikidocs.net/75560
https://cjh5414.github.io/django-settings-separate/

반응형

'Django' 카테고리의 다른 글

장고 SECRET_KEY 관리 방법: 환경 변수와 로컬 파일 설정  (0) 2022.03.13
장고 get_or_create()와 race condition 문제  (0) 2022.03.05
장고 Q를 활용한 필터링, 정렬, 검색 방법  (0) 2022.02.20
장고에서 HTTP GET, POST 요청 처리하는 방법  (0) 2022.02.20
장고 ORM과 쿼리셋의 개념  (0) 2022.02.07
'Django' 카테고리의 다른 글
  • 장고 SECRET_KEY 관리 방법: 환경 변수와 로컬 파일 설정
  • 장고 get_or_create()와 race condition 문제
  • 장고 Q를 활용한 필터링, 정렬, 검색 방법
  • 장고에서 HTTP GET, POST 요청 처리하는 방법
휘 Hwi
휘 Hwi
개발자 성장 로그
  • 휘 Hwi
    개발자 로그: 변화를 위한 공간
    휘 Hwi
  • 전체
    오늘
    어제
    • 분류 전체보기 (61)
      • 101 (1)
      • Web | Internet (4)
      • HTML | CSS (4)
      • Python (9)
      • Django (20)
      • Javascript (0)
      • Node.js (0)
      • React (0)
      • React Native (0)
      • Database (1)
      • Git (1)
      • Terminal | Vim (1)
      • Auth | Security (4)
      • AWS (0)
      • Docker (0)
      • Kubernetest (1)
      • Deployment (1)
      • Project (2)
      • TIL (12)
  • 블로그 메뉴

    • 홈
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    프로젝트 회고
    깃 퍼블릭 키 등록
    html
    장고 URL
    장고 Views
    JWT 디코딩
    장고
    css
    파이썬
    정규 표현식
    TIL
    target="_blank"
    JWT 인코딩
    깃 ssh
    새 탭에서 열기
    HTTP POST 요청
    HTTP
    요소 크기 설정
    깃 에러 해결
    파라미터
    장고 프로젝트
    깃
    JWT
    HTTP GET 요청
    탭내빙
    깃 오류
    요소 절대 크기
    요소 상대 크기
    함수
    배포
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.0
휘 Hwi
장고 개발 환경에 따라 settings.py 분리하는 방법
상단으로

티스토리툴바