MTV 패턴
MTV 패턴은 Model - Template - View 로 구성되어있고 MVC 패턴 Model - View - Controller 와 기본적인 틀은 유사하다.
각각의 구성 요소들이 독립적으로 자신의 임무를 수행하여 Django Framework가 동작되는 것이며 각각의 역할은 다음과 같다.
Model - 데이터를 관리
Template - 보여주기
View - 처리
구체적으로는 다음과 같다.
Model
모델은 데이터베이스에 저장되는 데이터를 의미합니다. excel과 같은 표의 형태로 정리하여 데이터베이스에 넣는다고 생각하면 편합니다. 원래 DB를 다루기 위해서는 SQL이라는 언어를 알아야하지만, 장고는 이 SQL을 몰라도 DB 작업을 가능하게 해주는 ORM을 제공하기 때문에 공부할 내용이 훨씬 적어지게 됩니다.
Template
템플릿은 사용자에게 보여지는 부분입니다. 앞서 공부할때 사용했던 html파일이 이 템플릿을 담당하게 됩니다. 장고 템플릿 시스템 문법에 맞게 python문법을 활용하여 작성하면 되므로, 다른 작업들과 화면 디자인 작업을 분리하여 확장성을 극대화 시킵니다. 즉, 보여지는 부분을 만드는 사람은 그 부분에만 집중하여 만들 수 있게 도와주는 역할을 합니다.
URLconf - URL 설계
view가 나와야할 차례인데 URL이 튀어나왔습니다. URL은 view와 template을 이어주는 역할을 하고, 요 부분을 만들어 주는 작업을 URLconf라고 합니다. 장고 1.x 버전에서는 이부분에서 정규표현식이라는 이상한 녀석을 배웠어야 했지만, 장고 2.x 버전은 path라는 함수를 이용해 그 과정을 훨씬 매끄럽게 다듬어서 공부하기 더 쉬워졌습니다.
View
뷰는 웹 요청을 받고, 전달받은 데이터들을 해당 어플리케이션의 로직으로 가공하여, 그 결과를 템플릿에 보내줍니다. MTV 각각 요소가 모두 중요하지만 그 중에서도 머리역할을 하는 녀석이 뷰입니다. 데이터를 가공하는 처리를 해야한다 싶으면 뷰를 건드리면 됩니다.
- 데이터저장 형태를 어떻게할지 설정하겠다. → Model
- 유저에게 보여지는 화면을 고치고 싶다. → Template
- 데이터를 처리해서 가공하고 싶다. → View
- 가공한 데이터를 유저가 보는 화면으로 넘겨주고 싶다 → URLconf
'Web Programming > Django' 카테고리의 다른 글
Home & Detail (Blog 모델 상세 페이지) (0) | 2019.01.31 |
---|---|
Model & Admin (0) | 2019.01.21 |
Word Counter 만들기 (0) | 2019.01.17 |
Hello World 이론 & 실습 (0) | 2019.01.08 |
Python & Django 설치 및 세팅 (0) | 2019.01.08 |