django/django
The Web framework for perfectionists with deadlines.
How django is put together
This is the Django web framework itself — a high-level Python framework for building server-side web applications, structured as a large library of loosely-coupled subsystems packaged under the `django/` namespace. It provides an ORM (`django.db`), request/response and middleware processing, URL routing, a template engine, forms, and a suite of contrib apps (admin, auth, admindocs). Data flows from WSGI/ASGI entry points through a middleware chain, into URL resolvers, view callables, the ORM, and back out via HttpResponse; app configuration is bootstrapped through the Apps registry from INSTALLED_APPS. The core is Python 3.12+, with a small JavaScript/QUnit test suite for admin frontend widgets.
Languages
Frameworks
Infrastructure
Major components
django.apps
Application registry and AppConfig machinery that loads INSTALLED_APPS and tracks installed models.
django.db
ORM and database layer providing model persistence, transactions, and connection routing.
django.middleware
Built-in middleware (CSRF, security, clickjacking, cache, gzip, CSP, common) wrapping request/response processing.
django.contrib.admin
Auto-generated administrative CRUD interface with model registration, sites, options, and widgets.
django.contrib.auth
Authentication framework with user models, authentication backends, and admin integration.
django.template
Template engine handling parsing, context processing, tags/filters, and template loading/rendering.
django.forms
Form and formset handling with field definitions, model forms, widgets, and rendering.
django.urls
URL routing with resolvers, converters, and reverse-URL resolution.
A quiet week of documentation cleanup and test adjustments as the 6.1 release wraps up.
5 weeksWeek of 2026-08-17
Week of 2026-08-17latest
A quiet week of documentation cleanup and test adjustments as the 6.1 release wraps up.
Week of 2026-08-10
A busy bug-fixing week spanning queries, forms, the admin, and security hardening of the URL validator.
Week of 2026-08-03
Django finalized the 6.1 release notes and published fixes for several recently disclosed security issues.
Week of 2026-07-27
The project's busiest week, with wide-ranging fixes to database defaults, migrations, primary keys, and continuous-integration setup.
Week of 2026-07-20
A lighter week focused on documentation, admin fixes, and preparing upcoming maintenance releases.
Over the last several weeks, Django has been stabilizing and polishing its upcoming 6.1 release, finalizing release notes, patching four security vulnerabilities, and fixing a steady stream of bugs across the database layer, admin interface, forms, and geographic (GIS) tools. Much of the work focuses on correctness edge cases—query ordering, primary keys, database defaults—and on cleaning up documentation as version-specific notices are removed for the release. The pace is high and detail-oriented, reflecting the careful final polish typical before a major version ships.
Week by week
2026-08-17A quiet week of documentation cleanup and test adjustments as the 6.1 release wraps up.latest5 changes
Docs
Documented ordering error in combined queries
Clarified the error users see when default-ordering fields are missing after combining query results, and corrected a related release note.
Chore
Removed version-specific notices for 6.1
Cleaned out 'new in this version' documentation markers that are no longer needed now that 6.1 is being finalized.
Chore
Adjusted geographic tests for newer Oracle
Skipped certain map-data tests that behave differently on Oracle database version 23.9.
Chore
Restored optional Python 3.15 build requirements
Re-added optional dependencies used in daily test builds targeting the upcoming Python 3.15.
Chore
Added a missing test skip condition
Ensured a database-level foreign-key test only runs where supported.
2026-08-10A busy bug-fixing week spanning queries, forms, the admin, and security hardening of the URL validator.6 changes
Fix
Rejected dangerous characters in URL validation
The URL validator now refuses null characters, closing a potential input-handling problem.
Fix
Fixed admin list-display of related data
Corrected wrong values shown for indirectly related records in the admin interface's list columns.
Fix
Improved query ordering and sorting flexibility
Allowed more sophisticated ordering expressions after renaming query fields and better handled aliases in sorting logic.
Fix
Fixed decimal handling on SQLite
Corrected how decimal numbers without a set precision are read back from SQLite databases.
Fix
Fixed international text handling in the admin
Corrected Slovak character capitalization when generating URL-friendly slugs in the admin.
Fix
Allowed nesting of geographic collections
Made it possible to nest geometry-collection objects in Django's geographic tools.
2026-08-03Django finalized the 6.1 release notes and published fixes for several recently disclosed security issues.6 changes
Chore
Finalized Django 6.1 release notes
Completed the official notes for the 6.1 release and added starter notes for the follow-up 6.1.1.
Fix
Recorded four security advisories
Added four newly assigned security vulnerabilities to Django's security archive.
Fix
Restored safe rendering of HTML in forms
Fixed a regression so trusted HTML strings display correctly in form media and related output.
Fix
Hardened admin popup handling
Handled additional malformed input in admin popup windows to prevent errors.
Fix
Restored older model-loading customizations
Brought back support for the previous way developers could customize how models load from the database.
Chore
Updated translations
Refreshed translated text from the translation platform, including a Serbian language fix.
2026-07-27The project's busiest week, with wide-ranging fixes to database defaults, migrations, primary keys, and continuous-integration setup.6 changes
Fix
Fixed several primary-key and default-value bugs
Corrected how database-generated defaults and primary keys from related records are handled when saving data.
Fix
Smoother database migrations
Made harmless deletion-behavior changes no longer trigger unnecessary migration prompts, including for unmanaged models.
Fix
Fixed bulk record creation with related keys
Corrected mass-inserting records whose related primary keys are assigned late.
Fix
Improved admin sorting behavior
Prevented sort controls from appearing on admin columns that can't be meaningfully sorted.
Chore
Expanded and updated the test setup
Enabled the full Python test matrix on CI, added free-threaded Python 3.14, and updated tooling dependencies.
Fix
Added compatibility with newer SQL parsing library
Ensured Django works with version 0.5.5 of the sqlparse dependency.
2026-07-20A lighter week focused on documentation, admin fixes, and preparing upcoming maintenance releases.6 changes
Fix
Fixed admin crash on related data
Resolved a crash when displaying indirectly related records in the admin's list columns.
Docs
Documented async testing tools
Added documentation for the asynchronous test client available in Django's testing utilities.
Chore
Prepared upcoming maintenance releases
Added starter release notes and dates for the 6.0.8 and 5.2.17 maintenance versions.
Feature
Added a database capability flag
Introduced an internal flag indicating whether a database supports UUID generation in default values.
Docs
Cleaned up contributor documentation
Removed outdated references to the long-obsolete Python 2 from the contributing guide.
Chore
Adjusted geographic tests for Oracle
Skipped a geographic test that requires a feature unavailable on Oracle databases.
Dependencies and code review
Dependency advisories
Security Watch
No known advisories across 5 scanned dependencies.
No known advisories in the scanned dependencies.
Code review
No concrete code-level issues confirmed.
Get this report every week for your repos.
GitZoid learns each repo, reports what changed, and flags what needs attention. One flat price for the whole team.
$19 a month, flat · First 10 outputs free · No card required