Release notes
Django 1.1 release notes
What’s new in Django 1.1
Other new features and changes introduced since Django 1.0 include: The CSRF protection middleware has been split into two classes – CsrfViewMiddleware checks incoming requests, and CsrfResponseMiddleware processes outgoing responses.
Release notes
Django 1.9 release notes
django.core.cache.get_cache is removed. django.db.models.loading is removed. Passing callable arguments to querysets is no longer possible. BaseCommand.requires_model_validation is removed in favor of requires_system_checks. Admin validators is replaced by admin checks. The ModelAdmin.validator_class and default_validator_class attributes are removed. ModelAdmin.validate() is removed.
Release notes
Django 2.2 release notes
Features deprecated in 2.2
To improve readability, the UUIDField form field now displays values with dashes, e.g. 550e8400-e29b-41d4-a716-446655440000 instead of 550e8400e29b41d4a716446655440000. On SQLite, PositiveIntegerField and PositiveSmallIntegerField now include a check constraint to prevent negative values in the database.
Release notes
Django 3.0 release notes
What’s new in Django 3.0Minor features
Added hash database functions MD5, SHA1, SHA224, SHA256, SHA384, and SHA512. Added the Sign database function. The new is_dst parameter of the Trunc database functions determines the treatment of nonexistent and ambiguous datetimes.
Reference
Built-in template tags and filters
Built-in tag reference
Outputs a URL-encoded formatted query string based on the provided parameters. This tag accepts positional arguments, which must be mappings (such as QueryDict or dict).
Reference
Built-in template tags and filters
Built-in tag referencequerystring
Outputs the current query string verbatim. So if the query string in the request is ?color=green, the output would be ?color=green. If the current query string is empty, the output will be ?.
Reference
Built-in template tags and filters
Built-in tag referencequerystring
Adds or modifies parameters in the query string. Each keyword argument will be added to the query string, replacing any existing value for that key. For instance, if the current query string is ?color=green, the output will be ?color=red&size=S.
Reference
Built-in template tags and filters
Built-in tag referencequerystring
Passing None as the value removes the parameter from the query string. For example, if the current query string is ?color=green&size=M, the output will be ?size=M.
Reference
Built-in template tags and filters
Built-in tag referencequerystring
If my_list is ["red", "blue"], the output will be ?color=red&color=blue, preserving the list structure in the query string.
Reference
Built-in template tags and filters
Built-in tag referencequerystring
You can pass custom QueryDict or dict instances as positional arguments to replace request.GET. When multiple arguments are provided, key-value pairs from later arguments take precedence over earlier ones.
Reference
Built-in template tags and filters
Built-in tag referencequerystring
A common example of using this tag is to preserve the current query string when displaying a page of results, while adding a link to the next and previous pages of results.
How-to
How to use Django’s CSRF protection
Using CSRF protection with AJAX
If you activate CSRF_USE_SESSIONS or CSRF_COOKIE_HTTPONLY, you must include the CSRF token in your HTML and read the token from the DOM with JavaScript:
Release notes
Django 5.1 release notes
What’s new in Django 5.1
Django 5.1 introduces the {% querystring %} template tag, simplifying the modification of query parameters in URLs, making it easier to generate links that maintain existing query parameters while adding or changing specific ones.
Release notes
Django 5.1.7 release notes
Fixed a bug in Django 5.1 where the {% querystring %} template tag returned an empty string rather than "?" when all parameters had been removed from the query string (#36182).
Release notes
Django 6.0 release notes
What’s new in Django 6.0Minor features
The new variable forloop.length is now available within a for loop. The querystring template tag now consistently prefixes the returned query string with a ?, ensuring reliable link generation behavior.
Release notes
Archive of security issues
Issues under Django’s security process
Data leakage via querystring manipulation in admin. Full description
Release notes
Django 1.1.3 release notes
Backwards incompatible changes
The Django administrative interface, django.contrib.admin, supports filtering of displayed lists of objects by fields on the corresponding models, including across database-level relationships.
Release notes
Django 1.2.4 release notes
Backwards incompatible changes
The Django administrative interface, django.contrib.admin, supports filtering of displayed lists of objects by fields on the corresponding models, including across database-level relationships.
Release notes
Django 1.4 release notes
Backwards incompatible changes in 1.4
Django’s comments has historically supported excluding the comments of a special user group, but we’ve never documented the feature properly and didn’t enforce the exclusion in other parts of the app such as the template tags.
Release notes
Django 1.8 release notes
Features deprecated in 1.8
The django.db.models.sql.aggregates and django.contrib.gis.db.models.sql.aggregates modules (both private API), have been deprecated as django.db.models.aggregates and django.contrib.gis.db.models.aggregates are now also responsible for SQL generation. The old modules will be removed in Django 1.10.