DjangoCon Europe 2023 | Model-View-Controller (MVC) through the ages and in Django

Explore the evolution of the Model-View-Controller pattern through the ages and its variations in Django, discovering how to maintain software, collaborate, and extend existing codebases with Django's MVC structure.

Key takeaways
  • Django is an MTV framework that follows the model, template, view structure, not MVC.
  • The presentation mentions the history of MVC and how Django uses a variant of it.
  • Models should represent the data, not how to display it, to avoid duplicated code.
  • Controllers help manipulate model objects and provide clear separation of concerns.
  • In Django, controllers are often handled through templates and views, but models and views should remain independent.
  • The presentation touches on the problems of maintaining software, collaboration, and extending existing codebases.
  • MVC (or MTV in Django’s case) is an abstraction that bridges the gap between human mental models and digital representations.
  • It’s helpful to consider Django’s MVC structure when designing user interfaces and handling user input.
  • Separation of concerns is crucial to creating extensible and maintainable software.