Which Python web framework follows the model-template-views architectural pattern?

The story behind the answer

Django is the Python web framework that follows the model-template-views architectural pattern.

Django was created by Adrian Holovaty and Simon Willison while working on newspaper websites and was publicly released in 2005. Its MTV design separates major responsibilities: models represent and manage application data, templates describe presentation, and views process requests and prepare responses. Django’s URL dispatcher routes incoming requests to the appropriate view.

The terminology can cause confusion because Django’s “view” performs much of the work commonly associated with a controller in traditional MVC, while Django’s template plays the presentation role often called a view. For that reason, Django is frequently described as an MVC-like framework even though its own documentation uses MTV.

Django is known for an integrated object-relational mapper, form handling, authentication, a reusable template system, and an automatically generated administrative interface. Flask and Pyramid are also Python web frameworks, but they do not define Django’s distinctive built-in MTV structure.

Source: Wikipedia · fact-checked Aug. 2026

Add question to a list

Choose a list to keep this question in: