Django

노광오·2020년 6월 11일
1

Django

목록 보기
1/7
post-custom-banner

Django 소개

Django(장고)는 파이썬의 대표적인 Web Application Framework으로서 그 Framework 자체가 파이썬으로 개발되어 있다. Django는 오픈소스 프로젝트로서 공식 사이트인 http://www.djangoproject.com 에서 각종 최신 정보를 제공하고 있다. 특히 이 사이트의 Documentation 섹션은 Django 개발과 관련된 자세한 기술정보를 제공하고 있으므로 참고하면 좋다.

App

Django에서 사용하는 파이썬 패키지.
Django App패키지 안에는 모델(model), 뷰(view), 템플릿(template), URL매핑 등을 독자적으로 가지고 있다.
또한 Django의 프로젝트는 하나이상의 app으로 구성되어 있으며, 규모가 큰 프로젝트의 경우 여러개의 App들을 모듈화하여 구성하며 이유는 여러개로 나눠놓아서 개발및 유지 보수가 효율적이기 때문이다.
모듈화가 잘된 App은 여러 웹 프로젝트에서 쉽게 재사용이 가능하다.

정리

Django = model, view, template, URL Mapping을 가지고 있음

Django 의 프로젝트는 하나이상의 app으로 구성하며 규모가 클수록 여러개의 app으로 구성되어있음 때문에 개발및 유지 보수가 효율적이며, 모듈화가 잘된 App은 여러 웹프로젝트에 재사용이 가능

Django의 특징

장점

  1. 비교적 쉬운 언어인 Python을 기반으로 두기 때문에 익히기 쉽다.
  2. 익히기 쉬운 만큼 개발속도도 빠르고, 코드 완성도를 높게 유지할 수 있으며 확장성도 좋다.
  3. 웹 애플리케이션이 제공되어야하는 사용자 인증, 사용자 관리 등을 기본적으로 기능 구현이 되어 있다.
  4. 성공적인 도입 사례가 많다. (Instagram이 대표적인 사례다.)
  5. 개발 비용을 크게 절감시킬 수 있다.

단점

  1. Python을 기반으로 하기 때문에 비교적 쉬운 언어이지만, Python이 객체 지향 프로그램이므로, 객체 지향 프로그램에 대한 이해도가 필요하다.
  2. Python의 단점을 대부분 포함한다.
  3. 성능이 다른 웹 애플리케이션 프레임워크(Node.js 등)보다 좋지 못하다.
  4. 한글화된 문서가 그렇게 많지 않다.

Django MVT패턴

장고 프레임워크에서는 View를 Template, Controller는 View라고 표현하며, MVC를 MVT 패턴이라고 한다. 모델은 데이터 베이스에 저장되는 데이터를 의미하는 것이고, 템플릿은 사용자에게 보여지는 UI부분을, 뷰는 실질적으로 프로그램 로직이 동작하여 데이터를 가져오고 적절하게 처리한 결과를 템플릿에 전달하는 역할을 수행한다.

  1. 클라이언트로부터 요청을 받으면 URLconf를 이용하여 URL을 분석한다.

  2. URL 분석 결과를 통해 해당 URL에 대한 처리를 담당할 뷰를 결정한다.

  3. 뷰는 자신의 로직을 실행하면서 만일 데이터 베이스 처리가 필요하면 모델을 통해 처리하고 그 결과를 반환받는다.

  4. 뷰는 자신의 로직 처리가 끝나면 템플릿을 사용하여 클라이언트에 전송할 HTML 파일을 생성한다.

  5. 뷰는 최종 결과로 HTML 파일을 클라이언트에게 보내 응답한다.

post-custom-banner

0개의 댓글