TIL_25 | [Django] MVT Pattern✨

code_sign·2021년 1월 27일
0

django

목록 보기
1/4

django에는 MVT라는 모델이 있다. (Java에서 MVC모델과 비슷)
오늘은 이 모델에 대해서 공부해보려 한다!

MVT Pattern

기본적으로 MVT에서는 위와 같은 프로세스로 작동된다.

  1. 처음에 Request가 URL주소로 들어오면 urls.py로 들어와서 같은 주소를 찾게 된다.
  2. urls.py에서 찾은 Viewrequest를 보낸다.
  3. http method에 따라 기능을 실행시켜 준다.
  4. Model로 가서 해당되는 테이블의 정보들을 View로 보내준다.
  5. View에서 실행한 결과에 따른 여러 정보를 Response Body에 담아 JSON 형태로 return한다.

그렇다면 MVT의 각각 역할에 대해 더 자세히 알아보자!

MVT의 M: Model 🙌

DataBase와 연결되는 부분. 테이블의 생성, 수정을 담당한다.

django에서는 자동으로 생성되는 데이터베이스/액세스 API를 실행시켜준다.
SQL문을 써서 talbe을 만들어주지 않아도 Model에서 조작하는 것만으로도 테이블의 생성/수정/삭제, 테이블의 타입 및 제한 설정을 해줄 수 있다.

  • Model에서 정의하는 classDB에서 하나의 table이 된다.
  • class에서 정의하는 하나의 attributetable에서 하나의 column이 된다.

MVT의 V: View 👏

request에 담긴 정보를 풀어서 기능을 실행하고 response Body에 담아서 내보낸다.

View에서는 request정보를 받아서 해당 정보와 http Method에 따라 기능을 C.R.U.D.로 구현해준다. SQL을 실행하여 select, delete를 하지 않아도 된다.

http Method의 종류에 따라 실행하는 기능이 다르다. 각각의 Method를 써주기만 한다고 실행되는건 아니지만, 시멘틱 태그처럼 개발자들이 알아 볼 수 있는 표현이 아닌가 싶다.

namefunction
GET데이터를 가져오는 역할을 할 때 사용
POST데이터를 생성/수정하는 역할을 할 때 사용
PATCH데이터를 수정하는 역할이지만, 일부만 수정할 때 사용
PUT데이터를 수정하는 역할이지만, 전체를 수정할 때 사용
DELETE데이터를 삭제하는 역할을 할 때 사용

MVT의 T: Template 👍

Frontend에서 하는 영역. 보통 사용자들이 보게 되는 영역을 구축한다.

주로 html, css, js로 이루어진 영역이다. django에서 템플릿 파일을 찾을 때는 TEMPLATE_DIRS 및 INSTALLED_APPS에서 지정된 앱의 디렉토리를 검색한다. 이 항목들은 프로젝트 설정 파일인 settings.py에 정의되어 있다. 여러개의 디렉토리를 지정할 수 있는데, 지정된 순서대로 디렉토리를 검색하여 템플릿 파일을 찾는다.


우리가 알아야 할건 CRUD도 있지만, 일단 MVT의 디자인패턴은 이렇게된다!
(우리의 갈길은 아직 멀다...😂)

다음 블로깅은 CRUD를 다루는 내용!
같이 또 공부했으면... 좋겠다!ㅋㅋㅋㅋㅋㅋ

Today, Leaned

배운점

  • JavaMVC패턴이랑 다른점.
  • MVC는 C가 여기서의 V라는것. 그리고 V가 T라는것!

느낀점

  • 수많은 디자인 패턴중 겨우 기초를 배웠다는 사실... 만족감과 상실감이 동시에 존재한다..ㅋㅋㅋㅋㅋ

오늘의 한마디

디자인 패턴! 널 정복하겠어!!!

profile
방탈출 좋아하는 코딩덕후

0개의 댓글