장고(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 |