파이썬 웹 프레임워크 중에 가장 많이 사용되고 있으며, 2003년 로렌스 저널 - 월드 신문을 만들던 웹 개발팀의 내부 프로젝트 시작, 2005년 오픈소스 프로젝트로 공개되었다. 구글의 앱 엔진에서 장고를 사용하면서 많은 사람들이 사용하게 되었고, 현재는 파이썬의 대표적인 웹 프레임워크로 자리매김 하였다.

 

- Django의 특징

  • MVC 패턴 기반 MVT : MVC(Model- View - Controller)를 장고에서는 View를 Template, Controller를 View라고 한다. 

 

  • 객체 관계 매핑 : 장고의 객체 관계 매핑(ORM: Object Relation Mapping)은 데이터베이스 시스템과 모델이라는 파이썬 클래스를 연결시키는 다리와 같은 역할을 합니다. SQL 문장을 사용하지 않고도 테이블을 조작할 수 있습니다. 이미 구축한 데이터베이스 시스템을 다른 데이터베이스로 변경하는 경우에도 설정을 조금만 변경하면 가능하다.

 

  • 자동으로 구성되는 관리자 화면: 장고는 프로젝트를 시작하는 시점에 기본 기능으로 관리자 화면을 제공한다. 개발자가 별도로 관리 기능을 개발할 필요가 없다.

 

  • 우아한 URL 설계: 장고에서는 우아한 URL 방식을 채택하여 URL을 직관적이고 쉽게 표현할 수 있다. 또한 정규 표현식을 사용하여 복잡한 URL도 표현 가능하고, 각 URL 형태를 파이썬 함수에 1:1로 연결하도록 되어있어 개발이 편리하다.

 

  • 자체 템플릿 시스템: 내부적으로 확장이 가능하고 디자인이 쉬운 강력한 템플릿 시스템을 가지고 있다. 화면 디자인과 로직에 대한 코딩을 분리하여 독립적으로 개발이 가능하다. 장고 템플릿 시스템은 HTML과 같은 텍스트형 언어를 쉽게 다룰 수 있도록 개발되었다.

 

  • 캐시 시스템: 캐시 시스템을 이용하여 자주 이용되는 내용을 저장해 두었다가 재사용하면 성능을 높일 수 있다. 캐시용 페이지를 메모리, 데이터베이스 내부, 파일 시스템 중 아무 곳에나 저장할 수 있다. 또한 캐시 단위를 페이지에서부터 사이트 전체 또는 특정 뷰의 결과, 템플릿의 일부 영역만을 지정하여 저장할 수 있다.

 

  • 다국어 지원: 동일한 소스코드를 가지고 다른 나라에서도 사용할 수 있도록 다국어 환경을 제공합니다.

 

  • 풍부한 개발 환경: 테스트용 서버등 개발에 도움이 될 수 있는 여러 가지 기능을 제공합니다.

 

  • 소스 변경사항 자동 반영: 개발 중 *.py 파일의 변경 여부를 감지하게 되면 실행 파일에 변경 내역을 바로 반영해준다. 웹 서버를 다시 시작할 필요 없이 자동으로 새파운 파일이 반영됩니다.

 

출처: 한빛미디어, Django로 배우는 쉽고 빠른 웹 개발 파이썬 웹 프로그래밍

+ Recent posts