[Django] MVT 패턴에 대해 알아보자

Jzoo·2020년 7월 13일
0

Django

목록 보기
2/2

Introduction

장고에서는 용어를 사용할 때, 애플리케이션의 개념을 웹 서버 개발 측면에서 좀 더 구체화하고
있습니다.

웹 사이트에 대한 전체 프로그램을 프로젝트(Project)라하고, 모듈화된 단위 프로그램을 애플리케이션(Application)이라 부릅니다.

장고에서는 기본적으로 MVT패턴에 때라 애플리케이션을 개발하도록 유도해주는데, 먼저 MVT패턴에 대해서 살펴보도록 하겠습니다.

MVT 패턴

  • MVC(Model-View-Controller)

웹 프로그램 개발시 일반적으로 언급되는 MVC(model-view-controller)패턴이란
데이터(Model), 사용자(View), 데이터를 처리하는 로직(Controller)을 구분해서 한 요소가
다른 요소들에 영향을 주지 않도록 설계하는 방식입니다.

파이썬도 이러한 MVC개념을 그대로 받아들였는데, 용어는 다르게 사용하고 있습니다.

Django framework에서는 View를 Template, Controller는 View라고 표현하며,

MVC를 MVT 패턴이라고 합니다.

  • Model

모델(Model)은 데이터베이스에 저장되는 데이터를 의미하며

  • View

뷰(View)는 실직적으로 프로그램 로직이 동작하여 데이터를 가져오고 적절하게 처리한 결과를
템플릿에 전달

  • Template

템플릿(Template)은 사용자에게 보여지는 UI부분을 의미합니다.

django_MVT_pattern

장고에서 MVT 패턴에 따라 처리하는 과정을 요약하면 다음과 같습니다.

  • 클라이언트로부터 요청을 받으면 URLconf를 이용하여 URL을 분석합니다.
  • URL 분석 결과를 통해 해당 URL에 대한 처리를 담당할 뷰를 결정합니다.
  • 뷰는 자신의 로직을 실행하면서, 만일 데이터베이스 처리가 필요하면 모델을 통해 처리하고 그 결과를 반환받습니다.
  • 뷰는 자신의 로직 처리가 끝나면 템플릿을 사용하여 클라이언트에 전송할 HTML파일을 생성합니다.
  • 뷰는 최종 결과로 HTML 파일을 클라이언트에 보내 응답합니다.
profile
cheer-up!

0개의 댓글