-
Django - 장고의 특징Django 2021. 3. 29. 20:07
MVC 패턴 기반 MVT
장고는 MVC(Model-View-Controller)를 기반으로 한 프레임워크다. Model은 데이터베이스에 액세스하는 컴포넌트이고, View는 데이터를 가져오고 변형하는 컴포넌트인 반면에 Template은 데이터를 사용자에게 보여주는 컴포넌트다. 그래서 장고를 흔히 MVT(Model-View-Template) 프레임워크라고 부른다. (용어는 다르지만 개념은 동일하다.)
객체 관계 매핑
객체 관계 매핑(ORM, Object-Relational-Mapping)은 데이터베이스 시스템과 데이터 모델 클래스를 연결시키는 다리 역할을 한다. ORM 기능 덕분에 SQL 문장을 사용하지 않고도 데이터베이스 테이블을 조작할 수 있다.
자동으로 구성되는 관리자 화면
웹 서버의 콘텐츠(데이터베이스) 관리를 위해 프로젝트를 시작하는 시점에 기본 기능으로 관리자 화면을 제공한다. 이런 관리자 화면을 통해 데이터들을 쉽게 변경할 수 있으며, 개발자가 별도로 관리 기능을 개발할 필요도 없다.
자체 템플릿 시스템
내부적으로 확장 가능하고 디자인이 쉬움 템플릿 시스템을 갖고 있다. 이를 통해 화면 디자인과 로직에 대한 코딩을 분리하여 독립적으로 개발 진행이 가능하다. (HTML과 같은 텍스트형 언어를 쉽게 다룰 수 있도록 개발되었다.)
캐시 시스템
동적인 페이지를 만들기 위해서 데이터베이스 쿼리를 수행, 템플릿 해석, 관련 로직을 실행해서 페이지를 생성하는 일은 서버에 엄청난 과부하를 주는 작업이다. 캐시 시스템을 사용하여 자주 이용되는 내용을 저장해 두었다가 재사용하면 성능을 높일 수 있다.
캐시 시스템은 메모리, 데이터베이스 내부, 파일 시스템 중 아무 곳에나 저장할 수 있다.
소스 변경사항 자동 반영
*.py 파일의 변경 여부를 감시하고 있다가 변경이 되면 변경 내역을 바로 반영한다. 장고 테스트용 웹 서버를 실행 중인 상태에서 소스 파일을 수정하더라도 웹 서버를 다시 시작할 필요 없이 자동으로 반영된다.
풍부한 개발 환경
테스트용 웹 서버를 포함하고 있어서 개발 과정에서 아파치 등의 웹 서버가 없어도 테스트를 진행할 수 있다. 디버깅 모드를 사용할 경우에는 에러를 쉽게 파악할 수 있도록 상세한 메시지를 보여준다.
출처 : 파이썬 웹 프로그래밍
'Django' 카테고리의 다른 글
Django - 03 Model 코딩 (0) 2021.03.31 Django - 02 애플리케이션 설계 / 프로젝트 뼈대 만들기 (0) 2021.03.29 Django - 01 애플리케이션 개발 방식 (0) 2021.03.29 Django - 웹 서버 (0) 2021.03.29