A controller is the input-and-control part of the MVC pattern: it connects user interactions with models and views. This matters when a site grows beyond static files and must handle data, comments, uploads, and application behavior. section 1.1.1
Django uses MVC as a useful mental model rather than a strict blueprint. Its view handles Python request-processing code, so the boundary between Django’s view and controller remains deliberately fuzzy. section 1.1.1 section 1.3
A typical request path looks like this:
- A web server passes the URL request to Django through WSGI. section 1.1.1
- Django checks urls.py and its urlpatterns list of path objects. section 1.1.1
- A path selects a Django view, implemented as a function or class that receives the request and returns a response document. section 1.1.1 section 1.3
Figure 1.4 Model—view—controller architectural pattern
Use the MVC diagram to distinguish the controller’s interaction role from the model’s data and business logic and the view’s presentation role. section 1.1.1







