장고의 MVT 패턴은 일반적인 웹 프로그래밍의 MVC 패턴의 개념과 비슷하다.
MVC 패턴은 Model-View-Controller로 데이터, 사용자 인터페이스, 데이터를 처리하는 로직을 구분해서 한 요소가 다른 요소들에 영향을 주지 않도록 설계하는 방식을 의미한다.
파이썬의 장고 프레임워크는 MVC가 아닌 MVT 패턴으로 Model-View-Template이다.
- 모델(Model): 데이터베이스에 저장되는 데이터
- 뷰(View): 프로그램 로직이 동작해 데이터를 가져오고 처리한 결과를 템플릿에 전달
- 템플릿(Template): 사용자에게 보이는 UI 부분
장고 MVT 패턴은 다음과 같은 과정으로 작동한다.
- 유저가 ~~~.com 이라는 이름의 서버를 요청한다.
- urls.py에서 매핑된 뷰(view)를 호출한다.
- 호출된 뷰는 models.py에서 모델(model)을 찾는다.
- 정의한 모델에 맞게 데이터베이스(DB)에서 필요한 데이터를 가져온다.
- 뷰는 지정된 템플릿(template)을 렌더링 하고 가져온 데이터를 템플릿에 채워 최종 HTML 파일을 생성한다.
- 최종 파일을 반환하여 유저의 요청에 응답한다.
MVT 패턴을 따라 개발하면 구성요소가 분리되어 프론트엔드 개발자, 백엔드 개발자는 각자의 역할에 충실할 수 있으며, 장고 앱의 코드 재사용성, 보다 쉬운 테스트 및 향상된 유지 관리가 가능하다.
반응형