django
에는 MVT
라는 모델이 있다. (Java
에서 MVC
모델과 비슷)
오늘은 이 모델에 대해서 공부해보려 한다!
기본적으로 MVT
에서는 위와 같은 프로세스로 작동된다.
Request
가 URL주소로 들어오면 urls.py
로 들어와서 같은 주소를 찾게 된다.urls.py
에서 찾은 View
로 request
를 보낸다.http method
에 따라 기능을 실행시켜 준다.Model
로 가서 해당되는 테이블의 정보들을 View
로 보내준다.View
에서 실행한 결과에 따른 여러 정보를 Response Body
에 담아 JSON
형태로 return
한다.그렇다면 MVT
의 각각 역할에 대해 더 자세히 알아보자!
DataBase
와 연결되는 부분. 테이블의 생성, 수정을 담당한다.
django
에서는 자동으로 생성되는 데이터베이스/액세스 API를 실행시켜준다.
SQL
문을 써서 talbe
을 만들어주지 않아도 Model
에서 조작하는 것만으로도 테이블의 생성/수정/삭제, 테이블의 타입 및 제한 설정을 해줄 수 있다.
Model
에서 정의하는 class
는 DB
에서 하나의 table
이 된다.class
에서 정의하는 하나의 attribute
는 table
에서 하나의 column
이 된다.
request
에 담긴 정보를 풀어서 기능을 실행하고response Body
에 담아서 내보낸다.
View
에서는 request
정보를 받아서 해당 정보와 http Method
에 따라 기능을 C.R.U.D.
로 구현해준다. SQL
을 실행하여 select
, delete
를 하지 않아도 된다.
http Method
의 종류에 따라 실행하는 기능이 다르다. 각각의 Method
를 써주기만 한다고 실행되는건 아니지만, 시멘틱 태그
처럼 개발자들이 알아 볼 수 있는 표현이 아닌가 싶다.
name | function |
---|---|
GET | 데이터를 가져오는 역할을 할 때 사용 |
POST | 데이터를 생성/수정하는 역할을 할 때 사용 |
PATCH | 데이터를 수정하는 역할이지만, 일부만 수정할 때 사용 |
PUT | 데이터를 수정하는 역할이지만, 전체를 수정할 때 사용 |
DELETE | 데이터를 삭제하는 역할을 할 때 사용 |
Frontend
에서 하는 영역. 보통 사용자들이 보게 되는 영역을 구축한다.
주로 html
, css
, js
로 이루어진 영역이다. django
에서 템플릿 파일을 찾을 때는 TEMPLATE_DIRS 및 INSTALLED_APPS에서 지정된 앱의 디렉토리를 검색한다. 이 항목들은 프로젝트 설정 파일인 settings.py에 정의되어 있다. 여러개의 디렉토리를 지정할 수 있는데, 지정된 순서대로 디렉토리를 검색하여 템플릿 파일을 찾는다.
우리가 알아야 할건 CRUD도 있지만, 일단 MVT
의 디자인패턴은 이렇게된다!
(우리의 갈길은 아직 멀다...😂)
다음 블로깅은 CRUD를 다루는 내용!
같이 또 공부했으면... 좋겠다!ㅋㅋㅋㅋㅋㅋ
Java
의 MVC
패턴이랑 다른점.MVC
는 C가 여기서의 V라는것. 그리고 V가 T라는것!디자인 패턴! 널 정복하겠어!!!