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

Model-View-Controller (MVC) through the ages and in Django by Nik Haldimann https://pretalx.com/djangocon-europe-2023/talk/VXMKTG/

MVC is an architectural pattern with a 50-odd year history that also left an imprint on Django. Can its continuing relevance teach us something about fundamental software design principles?

Model-View-Controller (MVC) is a widely used architectural pattern. It helps us separate the representation of data (the model) from the presentation of that data (the view) and the communication between those two and a user (the controller). The pattern has a 50-odd year history in such disparate systems as Smalltalk (the 70s), Java Swing (the 90s) and - of course your favorite, Django (the noughties onwards).

How come such an ancient pattern is still relevant today? In this talk I will explain how MVC's prevalence points at some fundamental design principles in software engineering. I will also explore its various applications through history and how it left an imprint on Django. Yes, Django implements MVC, or at least something derived from it, even if it got some of the naming horribly, confusingly wrong. (A Django "view" might more accurately be called a controller.)

You will come away from this talk with a better understanding of some fundamental design principles in Django and how this can help you keep your code clean and extensible.


Captions based on transcripts of original live captions, used with permission of the Reporter. This transcript was provided as communication support for deaf and hard of hearing people. It should not be regarded as a fully checked and verified verbatim record; it has no legal standing. It should not be circulated or copied to other parties without the permission of the Reporter. Original transcript by Speech to Text Reporter: Andrew Howell

Date Added: September 19, 2024

Note: We understand that names change, people change, and bodies change. We respect each individual's journey and privacy. If you have any concerns about a video or need us to remove content, please don't hesitate to contact us. We will handle your request with care and promptly address any issues.