meong_j
기록하는 습관.
meong_j
전체 방문자
오늘
어제
  • 분류 전체보기 (176)
    • 개인 공부 정리 (0)
    • 서버 운영 (37)
      • Linux (36)
    • Frontend (11)
      • Vue.js (10)
    • Backend (70)
      • Java (4)
      • Python (22)
      • Django (38)
      • Spring (6)
    • Database (5)
      • Oracle (4)
      • MySQL (1)
      • MariaDB (0)
    • Android (14)
      • Kotlin (6)
    • 배포 (9)
      • Docker (8)
      • AWS (1)
    • IT_study (29)
      • Coding test (17)
      • 알고리즘 (5)
      • 스터디 (6)

블로그 메뉴

  • 홈
  • 태그
  • 방명록
  • github

인기 글

반응형

태그

  • SASS Variables
  • docker
  • gabagecollecter
  • 리눅스방화벽
  • 리눅스인증
  • cpu사용률
  • DHCP
  • router-link
  • Proxy
  • 테크커리어
  • 코틀린자료형
  • 배포인프라
  • 안드로이드adaptor
  • 중첩라우트
  • dp #알고리즘
  • 개발자도서
  • 이차원배열정렬
  • Kotlin
  • dockersecret
  • django

최근 댓글

최근 글

250x250
hELLO · Designed By 정상우.
meong_j

기록하는 습관.

[Django] 장고 settings.py 설정 및 구조 알아보기
Backend/Django

[Django] 장고 settings.py 설정 및 구조 알아보기

2021. 9. 30. 18:28
728x90
반응형

장고(Django)의 settings.py 

 

settings.py 파일은 장고 프레임워크의 프로젝트 환경 설정하는 파일입니다. 

각 설정에 대한 설명은 다음과 같습니다.

 

  • DEBUG : 디버그 모드 설정
  • INSTALLED_APPS : pip로 설치한 앱 또는 본인이 만든 app추가
  • MODDELWARE_CLASSES : request와 response 사이의 주요 기능 레이어
  • TEMPLATES : Django template 관련 설정, 실제 뷰(html, 변수)
  • DATABASES : 데이터베이스 엔진의 연결 설정
  • STATIC_URL: 정적 파일의 URL(css, javascript, image etc..)

 

 

개발모드 설정(DEBUG)

# SECURITY WARNING: don't run with debug turned on in production
DEBUG = True

기본적으로 개발 모드는 DEBUG = True 로 설정되어 있습니다. 운영 모드일 경우 False로 설정해야 합니다.

 

 

 

App 추가

# Application definition

INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'blog.apps.BlogConfig',
]

App을 생성했으면 장고가 경로를 찾을 수 있게 INSTALLED_APPS에 추가한 App 경로를 등록해줍니다.

저는 blog라는 App을 생성해서 추가했는데요. 해당 추가한 파일로 들어가서 app.py에 보면 class 이름이 BlogConfig이라고 명시되어 있습니다.

 

 

 

Templates 설정

TEMPLATES = [
    {
        'BACKEND': 'django.template.backends.django.DjangoTemplates',
        'DIRS': [os.path.join(BASE_DIR, 'templates')],
        'APP_DIRS': True,
        'OPTIONS': {
            'context_processors': [
                'django.template.context_processors.debug',
                'django.template.context_processors.request',
                'django.contrib.auth.context_processors.auth',
                'django.contrib.messages.context_processors.messages',
            ],
        },
    },
]

장고에서 template은 MVC 패턴의 View와 비슷한 기능을 합니다. template은 데이터를 사용자에게 보여주는 컴포넌트 입니다. 이러한 template의 경로나 정보를 설정하는 곳이 TEMPLATES입니다.

프로젝트 내에서 templates라는 폴더를 생성하고 'DIRS'에 기본 BASE_DIR를  templates경로로 설정합니다. 

templates 내에 사용할 html 파일을 만듭니다.

 

 

Database 설정

# Database
# https://docs.djangoproject.com/en/3.2/ref/settings/#databases

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.sqlite3',
        'NAME': BASE_DIR / 'db.sqlite3',
    }
}

장고를 설치하면 기본적으로 sqlite도 설치되어 집니다. 이러한 sqlite DB 정보를 설정합니다.

 

언어 및 시간 설정

LANGUAGE_CODE = 'en-us'

TIME_ZONE = 'Asia/Seoul'

USE_I18N = True

USE_L10N = True

# true로 하면 장고가 자동으로 TIME에 따라 시간 계산
# 한국시간으로 계산하기 위함
USE_TZ = False

한국 시간으로 설정하고 USE_TZ 를 False로 설정하면 한국 시간에 맞게 시간을 계산합니다.

 

 

 

정적파일 설정

# Static files (CSS, JavaScript, Images)
# https://docs.djangoproject.com/en/3.2/howto/static-files/

STATIC_URL = '/static/'

STATICFILES_DIRS = [os.path.join(BASE_DIR, 'static')]

장고에서 image, JavaScript, CSS 등 과 같은 파일을 static file이라고 합니다. 장고는 이러한 정적(static) 파일을 관리하고, URL 설정을 합니다. STATIC_URL은 프로젝트의 static 파일 경로로 지정하고, 장고가 정적파일을 찾을 수 있는 기본설정을 STATICFILES_DIRS로 정의합니다. 

 

 

 

 

추가적으로 장고 개발을 진행하다보면 settings.py를 공통파일 ,개발모드 파일, 운영모드 파일로 나누어서 관리를 할 수 있습니다. 각 분야에 맞게 설정 파일을 나누는 방법은 다음 포스팅에서 업로드하도록 하겠습니다. 

 

 

반응형

'Backend > Django' 카테고리의 다른 글

django 01. 첫 앱 시작, 그리고 기본적인 view 만들기  (0) 2021.10.05
[Django] Settings.py 파일 공통, 개발, 운영 파일로 나누어 환경 설정 분리하기  (0) 2021.10.04
장고(Django) - 기본 데이터베이스(SQLite) 생성 및 admin 화면 확인하기  (0) 2021.09.30
Pycharm - Django 프로젝트 생성 및 가상환경 구축하기  (0) 2021.09.30
[Django] makemigrations 혹은 migrate 할 경우 발생한 에러 해결방법  (0) 2021.09.24
    'Backend/Django' 카테고리의 다른 글
    • django 01. 첫 앱 시작, 그리고 기본적인 view 만들기
    • [Django] Settings.py 파일 공통, 개발, 운영 파일로 나누어 환경 설정 분리하기
    • 장고(Django) - 기본 데이터베이스(SQLite) 생성 및 admin 화면 확인하기
    • Pycharm - Django 프로젝트 생성 및 가상환경 구축하기
    meong_j
    meong_j
    #it #개발일기 #개발공부 #개발자 #백앤드 #생각정리 #시간은 실력에 비례한다 #뭐든지 꾸준히 열심히 #오늘의 내가 내일의 나를 만든다

    티스토리툴바