A batteries-included web framework for Python.
Where It Sits
The small stack marks its layer. Beside it, each related technology links to its own page.
- App
- FrameworkDjango
- Web Server
- Runtime
- Containers
- OS
- Hypervisor
- Firmware
- Hardware
- Data
About
Django is a full-featured web framework for Python. It ships with an admin site, an ORM (the part that reads and writes the database as Python objects) and strong defaults. Its built-in login and admin pages make it easy to spot. It runs on the Python runtime, served by an app server such as Gunicorn, usually with nginx in front.
How to Spot It
These are signs that a system runs Django, seen from outside without signing in, such as a response header, a cookie, a path or a default port. They help you find where it runs across your own estate. A version shown to the world also tells anyone scanning which flaws might apply, so it is worth hiding.
- Cookie
csrftoken- Cookie
sessionid- Page title
Log in | Django site admin- Page source
Django administration
If It Has a Flaw
Django's strong defaults prevent many common flaws, so most risk is in the application's own code. A flaw in that code reaches what the application and its database allow, while a flaw in Django reaches every app built with it.
Every app built with it is exposed.
A flaw exposes the data it keeps.
- Data
PostgreSQL
Rivals
Rivals do the same job on the same layer, so a system usually runs one of them in any one place. A flaw in a rival does not reach Django.
Stacks and Code
Django is part of the common stacks below, and each stack's page shows who runs every layer. Its code arrives from the sources listed, and each source's page says how bad code could get in through it.
- In Common Stacks
- A Django App
- Its Code Comes From
PyPICI and Build Systems