1. 기능
- Function Based Views: 함수로 HTTP 요청 처리, 매 요청이 올 때마다 특정 함수가 실행되며 그 함수의 이름이 view이다.
- Models: 데이터베이스와의 인터페이스, ORM
- Templates: 복잡한 문자열 조합을 보다 용이하게. 푸쉬 메시지나 이메일 내용을 만들 때 쓰면 편리하다.
- Admin 기초: 심플한 데이터베이스 레코드 관리 UI, 관리 웹페이지를 따로 만들지 않더라도 Admin을 활용하여 어느 정도의 관리는 가능하다. 데이터베이스 관리자의 느낌
- Logging: 다양한 경로로 메시지 로깅
- Static files: 개발 목적으로의 정적인 파일 관리
- Messages framework: 유저에게 1회성 메시지 노출 목적, jquery 베이스의 사이트에서 사용
- Class Based Views: 클래스로 함수 기반 뷰 만들기
- Forms: 입력 폼을 생성하고 입력값 유효성 검사 및 DB로의 저장할 수 있는 일련의 로직 제공
- 테스팅
- 국제화와 지역화
- 캐싱
- Geographic: DB의 Geo 기능 활용
- Sending Emails
- Syndication Feeds
- Sitemaps
2. 웹 애플리케이션 기본 구조
- 웹브라우저가 서버로 어떠한 요청을 보내면, 어떤 로직이 수행이 되고 그 수행에 맞춰서 데이터베이스에서 정보를 받거나 수정,, 등등
- URLConf: 미리 URl별로 호출한 함수를 리스트에 등록
- View: URL에 맞춰 호출된 함수
- 모델: 파이썬 코드로 데이터베이스와 통신 (장고를 이용하면 보다 수월하게 통신 가능)
- 템플릿 엔진: 복잡한 문자열을 손쉽게 조합하기 위한 문자열 렌더링 엔진
3. 장고앱
- 재사용성을 목적으로한 파이썬 패키지
- 앱을 하나의 작은 서비스로 봐도 무방
- 하나의 앱 이름은 현재 프로젝트 상에서 유일해야 한다.
- 새롭게 생성한 장고앱이나 외부 라이브러리 형태의 장고앱은 필히 settings.INSTALLED_APPS에 등록을 해야 한다
settings.py 내부에 있는 리스트이며 새로운 앱을 등록하고 ,까지 입력
- 앱의 urlConf를 제외한 많은 부분들이 자동으로 등록됨