Django 특징정리
- MVC기반의 MVT
Django는 MVC( Model - View - Controller )을 기반으로 한 프레임워크.
But, 장고에서는 View를 Template, Controller를 View라고 부름.
Model : DB에 Access하는 Component
View : Data를 가져오고 변형하는 Component
Template : Data를 User에게 보여주는 Component
그래서 장고를 MVT( Model - View - Template ) FrameWork라고 함.
이름만 다르게 쓸 뿐, MVC와 개념은 동일하다.
- ORM, Object-Relational Mapping ( 객체 관계 매핑)
DB System과 Data Model Class를 연결시키는 다리 역할.
ORM 기능을 통해 다양한 DB System을 지원
SQL 사용하지 않고 테이블 조작 가능.
이미 구축한 DB다른 DB로 변경하는 경우, 설정을 조금만 변경하면 가능
- 자동 구성되는 관리자 화면
웹서버의 Contents, 즉 DB 관리를 위해 프로젝트 시작시점에 관리자 화면을 기본제공
관리자 화면을 통해 Application에서 사용하는 데이터를 쉽게 생성, 변경 가능함.
개발자가 관리기능 개발할 필요가 없음
- Elegant URL(우아한 URL)
URL을 직관적이고 쉽게 표현할 수 있음.
정규표현식을 이용해 복잡한 URL도 표현가능
각 URL 형태를 파이썬 함수에 1:! 로 연결하게 되어있어 개발이 편리하고 이해하기 쉬움
- 자체 템플릿
화면 디자인과 로직에 대한 코드를 분리해 독립적으로 개발 가능.
장고의 템플릿은 HTML 같은 텍스트형 언어를 쉽게 다룰 수 있도록 개발되어있음.
- Cache
캐시를 사용해 동적페이지 등을 수행할때 자주 이용되는 내용을 저장해 두었다가 재사용하여 성능을 높일 수 있음
장고의 Chche 시스템은 Cache용 메모리, DB 내부, 파일 시스템 중 아무곳에나 저장가능.
캐시 단위를 페이지에서부터 사이트 전체 또는 특정 뷰의 결과, 템플릿 일부 영역만을 지정해 저장할 수 있음
- 다국어 지원
동일한 소스코드를 다른 나라에서도 사용할 수 있도록 텍스트 번역, 날짜/시간/숫자 포맷, 타임존 지정등 다국어 환경 제공
간단한 작업만으로 메시지를 하나 이상의 언어로 번역해줌.
- 풍부한 개발환경
테스트용 웹서버를 포함하고 있음 (아파치 등 웹서버가 없어도 테스트 가능)
디버깅 모드 사용시 에러를 쉽게 파악하고 해결할수 있도록 아주 상세한 메시지를 보여줌
- 소스 변경사항 자동 반영
*.py의 변경여부를 감시하고 있다가 변경되면 실행파일에 변경 내력을 바로 반영해줌.
웹 서버 실행중에도 소스파일 수정시 새로운 소스파일이 반영됨!
'Web > Django' 카테고리의 다른 글
Django(장고) 실전 2 : 프로젝트 뼈대와 애플리케이션 생성하기 (0) | 2019.06.18 |
---|---|
Django(장고) 이론 2 : MVT 패턴 (0) | 2019.06.13 |
Django(장고) 실전 1 : Django 설치하기 (Mac기준) (0) | 2019.06.12 |