[Django] MTV
MVC
일반적으로 웹 개발시 언급되는 패턴은
MVC (“Model”, “View”, “Controller”) 이다.
이해를 돕기위해 간단히 정리하자면 아래와 같다.
Model == 데이터(Data)
View == 사용자 인터페이스(UI)
Controller == 로직(Logic), 중계자
이러한 패턴은 분업 / 유지보수 등에 많은 이점을 제공한다.
Django 또한 유사한 패턴을 사용하는데, 차이점을 아래에서 살펴보자.
MTV
Django 의 개발 패턴이다.
“Model”, “Template”, “View” 의 약자이다.
처음 접할 때 혼란을 줄 수 있는 부분은 바로 “View” 이다.
Django의 “View” 는 MVC의 “Controller” 와 같은 역할을 담당한다.
아래에 간단히 정리해보겠다.
MVC | MTV (Django) | 역할 | 관련 파일 |
---|---|---|---|
Model | Model | 데이터 (Data) | models.py |
View | Template | 사용자 인터페이스 (UI) | templates/* |
Controller | View | 로직 (Logic), 중계자 | views.py |
Django Documentation 자주 묻는 질문: 일반
을 살펴보면, MVC 와는 다른 용어를 사용하는 이유를 설명하고 있다.
또한, Django 에서 Controller 는 프레임워크 자체가 될 것이라는 언급도 있으므로,
위의 정리한 표가 정확히 일치한다고 할 수는 없다.
따라서, 이해를 돕기위한 참고로 보길 바란다.
Leave a comment