Topics
27 topics in 8 areas, covering 654 guides.
Topics cut across the four guide types. A topic page collects everything about one part of the stack, such as Celery or Nginx, whether the guide sets it up, tunes it, checks it, or fixes it.
The eight areas below group related topics. Each guide belongs to one to three topics, so the same guide can appear under both its main subject and the parts of the stack it touches.
Where Django runs: your own Linux servers, managed platforms, and AWS.
- Linux servers & VPS 43Running Django on a virtual server you administer: provisioning, users, disks, memory, and the operating system underneath.
- Platforms & PaaS 42Managed and self-hosted platforms that build and run the app for you, from Heroku and Render to Coolify and Dokku.
- AWS 30Django on Amazon Web Services: EC2, Lightsail, ECS, Elastic Beanstalk, S3, SES, and CloudFront.
The processes and proxies between a browser and your Django code.
- Gunicorn & app servers 47The WSGI and ASGI servers that run Django: Gunicorn, uWSGI, Uvicorn, Granian, and mod_wsgi, and how their workers fail.
- Nginx & reverse proxies 70Nginx, Caddy, Traefik, Apache, and CDNs in front of Django: routing, buffering, limits, and the status codes they produce.
- HTTPS, TLS & DNS 31Domains, certificates, redirects, and the settings that make Django agree with its proxy about HTTPS.
- ASGI & WebSockets 16Async Django in production: ASGI servers, Channels, WebSockets, and when async is worth it.
- systemd & process supervision 11Keeping Gunicorn, Celery, and scheduled jobs running: systemd units, environment files, timers, and Supervisor.
- APIs & frontends 17Django as an API behind a separate frontend: REST, GraphQL, CORS, and splitting hosts.
Packaging Django as images and running them on one host or a cluster.
Databases, schema changes, caches, and background work: everything that remembers.
- PostgreSQL & databases 104Connecting, pooling, tuning, and troubleshooting the database behind Django: mostly PostgreSQL, with MySQL and SQLite.
- Migrations & schema changes 30Applying Django migrations safely during deploys, and repairing migration history when it goes wrong.
- Redis & caching 31Caches, sessions, and Redis itself: what to cache, where it lives, and what happens when memory fills.
- Celery & background jobs 46Running work outside the request: Celery workers and Beat, Django tasks, queues, retries, and monitoring.
Static assets you build and media files users upload.
Getting code from a commit to production repeatably, and back out again when needed.
- CI/CD pipelines 27Automated test-and-deploy pipelines on GitHub Actions, GitLab, and Bitbucket, plus the images and previews they produce.
- Zero-downtime releases & rollback 30Releasing without breaking users: zero-downtime switches, canaries, blue-green, maintenance windows, and rollback.
- Deploy scripts & infrastructure as code 16Scripting servers and releases so they are repeatable: Bash, Fabric, Ansible, Terraform, and cloud-init.
- Python dependencies & packaging 20Installing exactly the right packages everywhere: lock files, uv, Poetry, pip-tools, and upgrades.
Settings that decide how Django behaves in production, and the hardening around it.
Keeping a live Django app observable, fast, recoverable, and reachable by email.
- Monitoring & logging 41Logs, errors, metrics, traces, uptime checks, and health endpoints, so problems are found before users report them.
- Performance & scaling 76Finding what is slow, sizing servers and workers, and scaling out without surprises.
- Backups & disaster recovery 16Backups that restore, point-in-time recovery, and the plans and runbooks for the worst day.
- Email delivery 9Sending transactional email from Django so it arrives: providers, SMTP, authentication records, and bounces.