Django 웹 프레임워크 👍

jurin·2021년 5월 26일
0

MVC 패턴 기반 MVT

MVC(Model-View-Controller)를 기반으로 한 프레임워크인 장고는 View를 Template, Controller를 View라고 부른다.

Model은 DB에 액세스하는 컴포턴트 이고, View는 데이터를 가져오고 변형하는 컴포넌트인 반면에 Template는 데이터를 사용자에게 보여주는 컴포넌트이다. (MVT)

객체 관계 매핑

장고의 객체 관계 매핑(ORM, Object-Relational Mapping)은 DB 시스템과 모델이라는 파이썬 클래스를 연결시켜준다.

이러한 ORM 기능을 통해 다양한 DB 시스템을 지원하고, SQL 문장을 사용하지 않고도 테이블을 조작할 수 있다.

자동으로 구성되는 관리자 화면

웹 서버의 콘텐츠, 즉 DB에 대한 관리 기능을 위하여 프로젝트를 시작하는 시점에 기본 기능으로 관리자 화면을 제공한다.

관리자 화면을 통해 애플리케이션에서 사용하는 테이블과 데이터들을 쉽게 생성, 변경할 수 있고 개발자가 별도로 관리 기능을 개발할 필요도 없다.

우아한 URL 설계

웹 프로그래밍에서 URL 디자인은 필수인데 장고에서는 URL을 직관적이고 쉽게 표현할 수 있다.

정규 표현식을 사용하여 복잡한 URL도 표현할 수 있고, 각 URL 형태를 파이썬 함수에 1:1로 연결하도록 되어 있어 개발이 편리하다.

자체 템플릿 시스템

내부적으로 확장이 가능하고 디자인이 쉬운 강력한 템플릿 시스템을 가지고 있다. 이를 통해 화면 디자인과 로직에 대한 코딩을 분리하여 독립적으로 개발 진행이 가능하다.

캐시 시스템

캐시 시스템을 사용하여 자주 이용되는 내용을 저장해 두었다가 재사용하여 성능을 높인다.

장고의 캐시 시스템은 캐시용 페이지를 메모리, DB 내부, 파일 시스템 중 아무 곳에나 저장할 수 있고, 캐시 단위를 페이지에서부터 사이트 전체 또는 특정 뷰의 결과, 템플릿의 일부 영역만을 지정하여 저장해 둘 수도 있다.

다국어 지원

소스코드를 다른 나라에서도 사용할 수 있도록 다국어 환경을 제공한다.

풍부한 개발 환경

테스트용 웹 서버를 포함하고 있어서 개발 과정에서 아파치 등의 웹 서버가 없어도 테스트를 진행할 수 있고, 디버깅 모드를 사용할 경우 에러를 쉽게 파악하고 해결할 수 있도록 상세한 메시지를 보여준다.

소스 변경사항 자동 반영

.py 파일의 변경 여부를 감시하고 있다가 변경이 되면 실행 파일에 변경 내역을 바로 반영해준다. 그래서 테스트용 웹 서버를 실행중인 상태에서 소스 파일을 수정하더라고 자동으로 반영된다.





출처: Django로 배우는 파이썬 웹 프로그래밍(기초) - 김석훈님

profile
anaooauc1236@naver.com

0개의 댓글