Como você já sabe, Django é uma estrutura da web Python. E como a maioria dos frameworks modernos, Django suporta o padrão MVC. Primeiro, vamos ver o que é o padrão Model-View-Controller (MVC), e então veremos a especificidade do Django para o padrão Model-View-Template (MVT).
Padrão MVC
Ao falar sobre aplicativos que fornecem UI (web ou desktop), costumamos falar sobre a arquitetura MVC. E como o nome sugere, o padrão MVC é baseado em três componentes: Model, View e Controller. Verifique nosso tutorial MVC aqui para saber mais.
DJANGO MVC - Padrão MVT
O Model-View-Template (MVT) é ligeiramente diferente do MVC. Na verdade, a principal diferença entre os dois padrões é que o próprio Django cuida da parte do controlador (código de software que controla as interações entre o modelo e a visualização), nos deixando com o modelo. O template é um arquivo HTML misturado com Django Template Language (DTL).
O diagrama a seguir ilustra como cada um dos componentes do padrão MVT interage entre si para atender a uma solicitação do usuário -
O desenvolvedor fornece o Modelo, a visualização e o modelo e então apenas mapeia para uma URL e o Django faz a mágica para servi-lo ao usuário.