Watch James Bennett’s Django in Depth tutorial from Pycon 2015.
From the Pycon website, here’s the abstract of James’ talk:
Most books, tutorials and other documentation for Django take a high-level approach to its components and APIs, and so barely scratch the surface of the framework. In this tutorial, however, we’ll take a detailed look under the hood, covering everything from the guts of the ORM to the innards of the template system to how the admin interface really works.
Whether you’re the newest of newbies or the most seasoned of application developers, you’ll come away with a deeper knowledge of Django, and a plethora of new tips and tricks you can use in your own applications.
Well, your first misconception is that CGI has anything to do with this. It doesn’t, except very unlikely and little-used server configurations.
Mostly, Django interfaces with the server via WSGI, which is a Python specification for web servers to talk to web applications. You can see more information at the WSGI website.
Apart from that, the whole request/response cycle is very well described by James Bennett in his blog entry here. It’s quite old, but little has changed in Django at that level since it was written.
- Why is Django's Meta an old-style class?
- In django, is there a way to directly annotate a query with a related object in single query?
- How can I disable a model field in a django form
- Django: Distinct foreign keys
- Why does Django South require a default value when removing a field?