Django(장고)는 파이썬의 대표적인 Web Application Framework으로서 그 Framework 자체가 파이썬으로 개발되어 있다. Django는 오픈소스 프로젝트로서 공식 사이트인 http://www.djangoproject.com 에서 각종 최신 정보를 제공하고 있다. 특히 이 사이트의 Documentation 섹션은 Django 개발과 관련된 자세한 기술정보를 제공하고 있으므로 참고하면 좋다.
Django에서 사용하는 파이썬 패키지.
Django App패키지 안에는 모델(model), 뷰(view), 템플릿(template), URL매핑 등을 독자적으로 가지고 있다.
또한 Django의 프로젝트는 하나이상의 app으로 구성되어 있으며, 규모가 큰 프로젝트의 경우 여러개의 App들을 모듈화하여 구성하며 이유는 여러개로 나눠놓아서 개발및 유지 보수가 효율적이기 때문이다.
모듈화가 잘된 App은 여러 웹 프로젝트에서 쉽게 재사용이 가능하다.
Django = model, view, template, URL Mapping을 가지고 있음
Django 의 프로젝트는 하나이상의 app으로 구성하며 규모가 클수록 여러개의 app으로 구성되어있음 때문에 개발및 유지 보수가 효율적이며, 모듈화가 잘된 App은 여러 웹프로젝트에 재사용이 가능
장고 프레임워크에서는 View를 Template, Controller는 View라고 표현하며, MVC를 MVT 패턴이라고 한다. 모델은 데이터 베이스에 저장되는 데이터를 의미하는 것이고, 템플릿은 사용자에게 보여지는 UI부분을, 뷰는 실질적으로 프로그램 로직이 동작하여 데이터를 가져오고 적절하게 처리한 결과를 템플릿에 전달하는 역할을 수행한다.
클라이언트로부터 요청을 받으면 URLconf를 이용하여 URL을 분석한다.
URL 분석 결과를 통해 해당 URL에 대한 처리를 담당할 뷰를 결정한다.
뷰는 자신의 로직을 실행하면서 만일 데이터 베이스 처리가 필요하면 모델을 통해 처리하고 그 결과를 반환받는다.
뷰는 자신의 로직 처리가 끝나면 템플릿을 사용하여 클라이언트에 전송할 HTML 파일을 생성한다.
뷰는 최종 결과로 HTML 파일을 클라이언트에게 보내 응답한다.