티스토리 뷰
728x90
반응형
프레임워크에 대한 지식 없이 파이썬으로 알고리즘 풀이만 하다가
이제 준비가 된 것 같아(?) 간단한 게시판 만들기를 따라 해 보았다.
내가 생각해야 하는 것이 아니라 보고 따라 적기만 하면 되는 거라서 구현 자체는 잘 됐는데,
적당히 따라 하다 보니 여러 가지 새로운 개념에 대해 정리해야 할 것 같다는 판단이 들었다.
예를 들면 함수 기반 뷰와 클래스 기반 뷰의 차이 같은 것.
근데 이에 대해 알려면 일단 스프링의 MVC과는 다른 장고의 MVT패턴을 제대로 알아야 할 것 같아
글쓰기 페이지를 열었다.
시작!
MVT Pattern
MVT패턴은 Model-View-Template의 앞글자를 딴 패턴으로서, 기존의 MVC 패턴에서 파생된 개념이다.
따라서 태생적으로 MVC 패턴과 비슷한 구조를 가지고 있긴 하지만, 각 파트의 역할이 조금 다르다.
참고로 위 그림에서 URLconf란 별게 아니라 URL configuration, 즉 URL과 뷰의 매핑에 대한 설정을 가리킨다.
계속해서 각각의 역할을 알아보자.
- Model
모델은 MVC와 마찬가지로 디비와 관련된 작업을 수행한다. ORM을 통해 테이블과 매핑되어서
디비에 데이터를 쓰거나 지우거나 가져오는 등의 역할을 맡는다. - View
모델에서 가져온 디비의 데이터를 클라이언트에게 출력하는 역할을 한다.
이를 위해 사용자의 입력 데이터를 처리하거나 모델에게 CRUD 명령을 전달하는 등,
MVC 패턴에서 컨트롤러가 맡던 웹 앱의 핵심 로직이 구현되는 부분이다. - Template
위 뷰에서 클라이언트에게 보여줄 화면을 렌더링 하는 데 사용되는 HTML 파일이다.
뷰에서 입출력 데이터 등을 보내주면 이를 이용해 화면을 구성한다.
HTML을 작성하는 데 아직 다소 진입장벽이 있긴 하지만,
나름 연습을 하고 돌아와 개념을 보니 이해가 잘 되는 부분이 있다.
끝으로 MVT의 장점은 당연하게도 역할분리가 확실해 코드의 유지보수 및 재사용이 용이하다는 것이다.
글이 길어질 거라 생각했지만 생각보다 빨리 끝났다.
끝!
반응형
'Python > Django' 카테고리의 다른 글
[Django]함수 기반 뷰 vs. 클래스 기반 뷰 (0) | 2023.05.01 |
---|---|
[Django]Form vs. ModelForm (2) | 2023.04.21 |
[Django](M1 맥북 기준)터미널, VSCode 파이썬 설정 미세먼지 팁 (2) | 2023.04.19 |
[Django]필드 타입 (2) | 2023.04.17 |
[Django]python, pip, vscode 개발환경 구성 (0) | 2023.04.10 |
[Django]Django 튜토리얼 (2) | 2023.04.07 |
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- 유럽
- 자바
- 여행
- Algorithm
- spring
- 백준
- 세모
- 리스트
- a6000
- 세계일주
- 기술면접
- 칼이사
- 파이썬
- 지지
- RX100M5
- 남미
- 스트림
- 알고리즘
- 동적계획법
- 스프링
- Backjoon
- 맛집
- 중남미
- 유럽여행
- Python
- BOJ
- 야경
- 세계여행
- java
- 면접 준비
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
글 보관함