[Django] MTV 패턴이란

cdwde·2021년 3월 29일
0

Django

목록 보기
1/13

🎈MTV 패턴

장고는 MVC(Model - View - Controller)를 기반으로 한 프레임워크
장고에서는 같은 개념을 MTV(Model - Template - View)라고 부름

1. Model

  • 데이터베이스와 관련된 데이터 관리

  • 하나의 클래스가 하나의 DB Table

  • 원래 DB를 다루기 위해서는 SQL이라는 언어를 알아야 하지만 장고는 SQL을 몰라도 DB 작업을 가능하게 하는 ORM을 제공

❓ ORM(Object Relational Mapping 객체-관계 매핑)
객체와 관계형 데이터베이스의 데이터를 자동으로 매핑해주는 것

  • 객체 지향 프로그래밍은 클래스를 사용, 관계형 데이터베이스는 테이블을 사용
  • 객체 모델과 관계형 모델 간의 불일치 존재
  • ORM을 통해 객체 간의 관계를 바탕으로 SQL을 자동으로 생성하여 불일치를 해결

2. Template

  • 사용자에게 보여지는 부분

  • django template 문법을 지원해서 html 파일 내에서 context로 받은 데이터 활용 가능

3. View

  • 요청을 받고 데이터 처리 및 가공해서 template에 전달

4. URLconf

  • URL은 view와 template를 이어주는 역할을 하고 이 부분을 만들어주는 작업을 URLconf

  • path() 사용


🎈진행 순서

  1. 클라이언트에게 요청 받음

  2. URLconf로 url 분석 후 처리할 view 결정

  3. view에서 로직 처리
    (필요한 경우 model에서 db 관련 명령 처리 후 view에게 넘겨줌)

  4. view 최종적으로 html파일을 클라이언트에게 보냄

참고
https://velog.io/@hidaehyunlee/Django-MTV-%ED%8C%A8%ED%84%B4
https://gmlwjd9405.github.io/2019/02/01/orm.html

0개의 댓글