지난 글에 이어 settings.py 기본 구성에 대한 설명입니다.
ROOT_URLCONF = "config.urls"
이름대로 URL 설정파일을 적용한 곳입니다.
저는 startproject
때 프로젝트명을 config
로 했기에 config.urls라 뜨고 있습니다.
TEMPLATES = [
{
"BACKEND": "django.template.backends.django.DjangoTemplates",
"DIRS": [],
"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",
],
},
},
]
django는 django만의 템플릿 기능이 있습니다. 그 템플릿 엔진을 사용하기 위한 설정들이 들어 있습니다.
BACKEND
사용할 템플릿 백엔드를 세팅합니다. 기본 제공 템블릿 백엔드는 DjangoTemplates과 Jinja2가 있고 따로 사용자가 경로를 지정하고 오픈소스를 사용할 수도 있습니다.DIRS
엔진이 템플릿 소스파일을 찾아야하는 디렉토리 경로.APP_DIRS
엔진이 설치된 애플리케이션 내에서 템플릿 소스파일을 찾아야하는지 여부.OPTION
엔진에게 전달할 추가 매개변수.
WSGI_APPLICATION = "config.wsgi.application"
django가 사용할 WSGI앱 파일의 위치입니다.
DATABASES = {
"default": {
"ENGINE": "django.db.backends.sqlite3",
"NAME": BASE_DIR / "db.sqlite3",
}
}
django가 사용할 데이터베이스에 대한 설정입니다. 개발 단계에서의 db이므로 배포 단계와 설정을 구별해주어야 합니다.
if문 형태로 하거나 settings파일을 분리해야 합니다.
나중에 데이터베이스를 따로 등록해준다면 다음과 같은 양식으로 짜게 됩니다. (postgreSQL 사용시)
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.postgresql',
'NAME': 'mydatabase',
'USER': 'mydatabaseuser',
'PASSWORD': 'mypassword',
'HOST': '127.0.0.1',
'PORT': '5432',
}
}
AUTH_PASSWORD_VALIDATORS = [
{
"NAME": "django.contrib.auth.password_validation.UserAttributeSimilarityValidator",
},
{"NAME": "django.contrib.auth.password_validation.MinimumLengthValidator",},
{"NAME": "django.contrib.auth.password_validation.CommonPasswordValidator",},
{"NAME": "django.contrib.auth.password_validation.NumericPasswordValidator",},
]
패스워드의 보안 강도를 체크하는 validatar 리스트입니다. 현재 기본 보안이 설정되어 있고 나중에 추가적인 보안 설정이 가능합니다.
LANGUAGE_CODE = "en-us"
TIME_ZONE = "UTC"
USE_I18N = True
USE_TZ = True
차례대로 언어, 시간대, 번역설정, django 내부 시간대 설정입니다.
STATIC_URL = "static/"
django가 정적 파일을 참조할 때 사용하는 정적 파일 경로입니다.