[TIL / Django] Web Framework, MVT 모델에 대하여

Web Framework

웹 어플리케이션 개발을 편리하게 도와주는 소프트웨어이다. 유지 보수의 용이함은 물론 데이터베이스와의 상호작용, 적절한 url로의 라우팅, 유저 인증과 세션 지원, 보안 등의 작업을 단순화하는 도구 및 라이브러리를 제공한다.

장점

  • Http 통신을 위한 코드의 작성 문법을 단순화 한다.
  • URL 패턴 매핑 기능을 지원하여 다른 리소스에 접근할 수 있도록 한다.
# Django에서의 url 매핑
urlpatterns = [
    url(r'^$', views.index),
    # example: /best/myteamname/5/
    url(r'^(?P<team_name>\w.+?)/(?P<team_number>[0-9]+)/$', views.best),
]

# Flask에서의 url 매핑
@app.route("/")
def hello():
    return "Hello World!"
  • request 내 데이터로의 접근을 쉽게 해준다. 예를 들어 장고는 HttpRequest 객체에 대상 URL, 요청 메서드, GET 또는 POST 매개변수, 쿠키 및 세션 데이터 등에 접근하기 위한 메서드 및 속성을 포함하여 함수에 전달한다.


MVT 모델

소프트웨어 디자인 패턴이며 Model, View, Template으로 구성이 되어있다.

  • Model: 데이터베이스와 통신할 수 있게 해준다.
  • View: 모델에게 원하는 데이터를 가져올 수 있도록 하거나 프로그램이 동작하는 로직을 실행시키고 템플릿을 렌더링 한다. 데이터를 기반으로 사용자가 볼 수 있는 화면이다.
  • Template: UI 부분을 담당한다. 사용자 입력 및 이벤트에 반응하여 model이나 view를 업데이트한다.

처리과정

  • 클라이언트에게 요청이 들어오면 URLconf가 URL을 분석한다.
  • URL에 따라 요청을 처리할 View를 정하여 맵핑한다.
  • 뷰는 뷰에 정의되어 있는 동작을 실행하고 필요하다면 모델을 통해 데이터를 처리하고 결과를 반환받는다.
  • 처리가 끝나면 템플릿을 이용해 클라이언트에게 전송할 HTML파일을 생성한 후 클라이언트에게 최종 결과를 보낸다.



참고:
[Django/장고] MVT 패턴이란
MVC 패턴이란
사진 - javatpoint.com

좋은 웹페이지 즐겨찾기