Django
A batteries-included Python web framework for database-backed applications.
Difficulty: intermediateTime: 40+ hours95 of 106 sections written
Django is a Python web framework that turns an incoming HTTP request into a response through a fixed pipeline — routing, a view, an ORM-backed model, and a template — with an admin site, authentication, sessions, and forms all included and wired together from the start.
Sections
106 sections- Django Fundamentalsbeginner58 min
- Django Project Structurebeginner46 min
- Django App Registryintermediate14 min
- Settings and Configurationintermediate42 min
- URL Routingintermediate26 min
- Function-Based Viewsbeginner24 min
- Class-Based Viewsadvanced44 min
- Templatesintermediate30 min
- Formsintermediate36 min
- Django Modelsadvanced24 min
- Django Field Typesintermediate28 min
- `null` vs `blank`intermediate8 min
- Choices and Enumerationsintermediate16 min
- Relationshipsintermediate22 min
- on_delete Behaviorintermediate16 min
- Model Methods and Propertiesintermediate20 min
- Django ORM Fundamentalsintermediate26 min
- Query Expressionsintermediate24 min
- Aggregation and Annotationadvanced26 min
- Advanced ORM Queriesadvanced24 min
- QuerySet Evaluationintermediate14 min
- N+1 Queriesadvanced20 min
- select_related()advanced14 min
- prefetch_related()advanced22 min
- Query Projectionadvanced18 min
- PostgreSQL with Djangoadvanced30 min
- Database Constraintsadvanced16 min
- Transactionsadvanced26 min
- select_for_update()advanced20 min
- Concurrency and Race Conditionsadvanced20 min
- Migrationsadvanced28 min
- Safe Database Migrationsadvanced22 min
- Django Managersadvanced20 min
- Custom QuerySetsintermediate18 min
- Django Adminadvanced30 min
- Authenticationintermediate26 min
- Authorizationintermediate20 min
- Sessions and Cookiesintermediate20 min
- Middlewareintermediate26 min
- Signalsadvanced20 min
- Transactions + Signalsadvanced12 min
- Static Filesintermediate18 min
- Media Files and Uploadsadvanced28 min
- Django REST Framework — Must Be Strong for API Rolesadvanced30 min
- DRF Viewsadvanced28 min
- DRF Authenticationadvanced30 min
- DRF Permissionsadvanced28 min
- DRF Filtering, Search, and Orderingadvanced30 min
- DRF Paginationadvanced28 min
- DRF Throttling and Rate Limitingadvanced28 min
- API Designadvanced40 min
- API Idempotencyadvanced24 min
- API Error Handlingadvanced34 min
- OpenAPI and API Documentationadvanced26 min
- Django Securityadvanced38 min
- Cachingadvanced30 min
- Redis for Djangoadvanced30 min
- Async Djangoadvanced32 min
- ASGI vs WSGIadvanced24 min
- Background Jobsadvanced24 min
- Celeryadvanced44 min
- Queue Semanticsadvanced24 min
- Django Testingintermediate36 min
- Mockingadvanced28 min
- Django API Testingadvanced30 min
- Database Testingadvanced32 min
- Contract and Integration Testingadvanced34 min
- Performance Fundamentalsintermediate30 min
- Django Performance Debuggingadvanced42 min
- Pagination and Large Result Setsadvanced32 min
- Large Data Operationsadvanced34 min
- Database Connection Managementadvanced34 min
- Read Replicasadvanced26 min
- Observabilityintermediate40 min
- Structured Loggingintermediate32 min
- Email Systemsintermediate28 min
- Internationalization and Time Zonesintermediate34 min
- Management Commandsintermediate38 min
- File Exports and Importsintermediate32 min
- Multi-Tenancyadvanced36 min
- Auditingintermediate26 min
- Soft Deleteadvanced30 min
- State Machines and Workflowsadvanced34 min
- Payment and Webhook Workflowsadvanced40 min
- Event-Driven Architectureadvanced36 min
- Reliability Patternsadvanced34 min
- Linux for Django Developersintermediate40 min
- Networkingadvanced38 min
- Docker for Djangointermediate22 min
- Gunicorn, Uvicorn, and Deployment Workersadvanced32 min
- CI/CDadvanced30 min
- Deployment Strategiesadvanced36 min
- Safe Django Upgradesadvanced22 min
- Architecture Stylesadvanced30 min
- Service Layeradvanced20 min
- Repository Pattern6 items
- Domain-Driven Design9 items
- Distributed Systems14 items
- System Design15 items
- Multi-Instance Django11 items
- Common Django Anti-Patterns24 items
- Django Code Review Checklist35 items
- Interview-Level Django Questions42 items
- Recommended Priority for a 5-Year Django Engineer44 items
- Practical Projects to Validate Your Skills51 items
- Final Checklist69 items
Why it matters
- It ships an ORM, admin site, auth, sessions, and templating together, so a database-backed site starts working in minutes, not days of assembling separate libraries.
- The MTV pattern keeps data, logic, and presentation in separate, independently-testable layers.
- The auto-generated admin site gives a working internal management UI for free, from the same models the rest of the app already uses.
- It underpins a large share of production Python web backends, so the patterns here carry directly into real jobs.
Where it is used
- Content-heavy sites and CMSs — the admin site alone covers a large share of internal tooling needs
- Database-backed web applications — e-commerce, SaaS dashboards, marketplaces
- APIs, via Django REST Framework built on top of the same models and views
- Anywhere a team already knows Python and wants a full-stack framework rather than assembling one
The big picture
- Settings — one per project
- leads to URLconf (ROOT_URLCONF)
- URLconf — routes requests
- leads to Apps (dispatches to)
- Apps — models, views, templates
- leads to Admin (registers models)
- leads to Database (reads/writes)
- Admin — generated from models
- Database — via the ORM