Django framework의 특징을 알아봅니다.
-
MVC 패턴 기반 MVT
- django는 MVC(Model-View-Controller)를 기반으로 합니다.
- 장고에서는 View = Template, Controller = View로 명칭합니다.
- django의 Model은 DB에 access하는 component입니다.
- View는 data를 가져오고 변형합니다.
- Template는 데이터를 사용자에게 보여주는 component입니다.
- 그래서 django는 MVT(Model-View-Template)로 부르기도 합니다.
-
객체 관계 매핑(ORM)
- django의 ORM은 DB system - Model class를 연결하는 다리 역할을 수행합니다.
- ORM 기능을 통해 SQL 문장을 사용하지 않고도 table 조작이 가능합니다.
-
자동으로 구성되는 관리자 화면
- django는 web server의 DB 관리 기능을 위한 관리자 화면을 기본으로 제공합니다.
-
URL 설계의 유연성
- 정규표현식을 사용하여 복잡한 URL도 직관적으로 표현할 수 있으며, 각 URL 형태를 python 함수에 1:1 연결도 가능합니다.
-
자체 템플릿 시스템
- 내부적으로 확장이 가능하고 디자인이 쉬운 template system을 가지고 있습니다.
-
캐시 시스템
- 동적인 페이지를 만들기 위해 DB 쿼리를 수행하고 template를 해석하며, 관련 로직을 실행해서 페이지를 생성? = 서버 부하 증가
- django는 캐시 시스템을 통해 자주 이용되는 내용을 저장 후 재사용하여 성능을 높였습니다.
-
다국어 지원
-
개발 환경의 유용함
- test용 웹 서버를 포함하고 있어 개발 과정에서 아파치 등의 웹 서버가 없어도 test 진행이 가능합니다.
-
소스 변경사항 자동 반영
- *.py 파일의 변경 여부가 실행 파일에 바로 반영됩니다.
- test용 웹 서버를 실행중인 상태에서 수정이 발생해도 바로 반영되어 확인할 수 있습니다.