Django поддерживает оба шаблона: MVC и MVT.Но MVT лучше всего подходит для Django
MVC популярен, поскольку он изолирует логику приложения от уровня пользовательского интерфейса и поддерживает разделение задач.Здесь Контроллер получает все запросы для приложения и затем работает с Моделью, чтобы подготовить любые данные, необходимые для Представления.Затем представление использует данные, подготовленные контроллером, для генерации окончательного презентабельного ответа.Абстракция MVC может быть графически представлена следующим образом:
Говоря о приложениях, которые предоставляют пользовательский интерфейс (веб или настольный компьютер), мы обычно говорим об архитектуре MVC.И как следует из названия, шаблон MVC основан на трех компонентах: Model, View и Controller.
Model-View-Template ( MVT ) немного отличается от MVC.На самом деле, основное различие между этими двумя шаблонами состоит в том, что Django сам заботится о части контроллера (программный код, который контролирует взаимодействие между моделью и представлением), оставляя нас с шаблоном.Шаблон представляет собой файл HTML, смешанный с языком шаблонов Django (DTL).
На следующей диаграмме показано, как каждый из компонентов шаблона MVT взаимодействует друг с другом для обслуживания пользовательского запроса -
Разработчик предоставляет Модель, представление и шаблон, а затем просто сопоставляет его с URL-адресом, и Django делает все возможное, чтобы предоставить его пользователю.