Django 스터디의 프로젝트의 settings.py 파일의 INSTALLED_APPS와 MIDDLEWARE에 선언된 항목들을 정의합니다.
INSTALLED_APPS
django.contrib.auth
Django의 authentication 프레임웍. Django에 선언된 User 모델과 메소드들을 사용할 수 있다.
django.contrib.contenttypes
contenttypes Application은 Django 프로젝트에 설치된 모든 모델을 추적할 수 있게 한다. 또한 모델들과 함께 동작할수 있는 수준의 인터페이스를 제공한다.
django.contrib.sessions
익명 사용자의 세션 데이터를 저장하는 프레임웍.
django.contrib.staticfiles
Application의 각각의 정적파일을 한 곳에 수집하는 application이다.
django.contrib.humanize
integer 타입을 사람이 인식할수 있는 타입으로 변경해주는 템플릿 필터.
MIDDLEWARE
django.middleware.security.SecurityMiddleware
SecirutyMiddleware는 request/response 사이클의 보안을 강화하는 기능을 제공한다. settign을 통해 아래의 옵션들을 사용하거나 사용하지 않을 수 있따.
- SECURE_BROWSER_XSS_FILTER (default: false)
- SECURE_CONTENT_TYPE_NOSNIFF (default: false)
- SECURE_HSTS_INCLUDE_SUBDOMAINS (default: false)
- SECURE_HSTS_SECONDS (default : 0 )
- SECURE_REDIRECT_EXEMPT ( default: [ ] empty list)
- SECURE_SSL_HOST ( default : None )
- SECURE_SSL_REDIRECT ( default : False )
django.contrib.sessions.middleware.SessionMiddleware
session 의 기능을 지원한다. 4가지 형태의 session 사용이 가능하다
1) Database Backend
2) Cached Session
3) File-based Session
4) Cookie-based Session
django.middleware.csrf.CsrfViewMiddleware
POST 폼에 감춰진 필드를 추가하고 정확한 값이 request 되는지 체크하여 Cross Site Request Forgeries 공격을 방지한다.
django.contrib.auth.middleware.AuthneticationMiddleware
http request 를 호출한 대상이 최근 로그인한 User인지 확인하고, 사용할 수 있는 속성을 추가한다.