Django
By the Django Software Foundation
Django is a high-level, open-source Python web framework that follows a "batteries-included" philosophy, providing built-in tools for authentication, admin interfaces, and database access to enable rapid, secure web development.
Definition
Django is a high-level, open-source Python web framework that follows a "batteries-included" philosophy, providing built-in tools for authentication, admin interfaces, and database access to enable rapid, secure web development.
Overview
Django follows the Model-View-Template (MVT) architectural pattern and was built with an emphasis on rapid development for content-heavy sites, drawing on the principle of "don't repeat yourself" and favoring convention over configuration. Its built-in ORM maps Python classes to database tables, supporting PostgreSQL, MySQL, SQLite, and Oracle, and an automatically generated admin interface lets teams manage application data without building custom tooling. Django also bakes in protections against common web vulnerabilities — CSRF, SQL injection, XSS, and clickjacking — by default, rather than leaving them to individual developers to implement. Django REST Framework extends the core framework for building APIs, and Django is frequently compared with lighter, less opinionated Python frameworks like Flask or FastAPI, which leave more architectural decisions to the developer. It remains a common choice for content-heavy websites, SaaS backends, and internal tools built entirely in Python.
Key Features
- "Batteries-included" design with a built-in ORM, admin panel, and auth system
- Model-View-Template (MVT) architectural pattern
- Automatic, customizable admin interface generated from data models
- Built-in protections against CSRF, SQL injection, XSS, and clickjacking
- Powerful ORM supporting PostgreSQL, MySQL, SQLite, and Oracle
- URL routing and templating system for building full web applications
- Extensible via Django REST Framework for building APIs
- Large ecosystem of reusable third-party packages