[3.0.x] Fixed #31069, Refs #26431 -- Doc'd RegexPattern behavior change in passing optional named groups in Django 3.0.

Backport of 9736137cdc4b7528a0aca17415dc9798660eed81 from master
This commit is contained in:
Hasan Ramezani 2019-12-11 11:57:27 +01:00 committed by Mariusz Felisiak
parent 79c92fc7b6
commit 6cb30414bc
2 changed files with 11 additions and 2 deletions

View File

@ -548,6 +548,10 @@ Miscellaneous
* Support for ``sqlparse`` < 0.2.2 is removed. * Support for ``sqlparse`` < 0.2.2 is removed.
* ``RegexPattern``, used by :func:`~django.urls.re_path`, no longer returns
keyword arguments with ``None`` values to be passed to the view for the
optional named groups that are missing.
.. _deprecated-features-3.0: .. _deprecated-features-3.0:
Features deprecated in 3.0 Features deprecated in 3.0

View File

@ -56,10 +56,15 @@ algorithm the system follows to determine which Python code to execute:
* If the matched URL pattern contained no named groups, then the * If the matched URL pattern contained no named groups, then the
matches from the regular expression are provided as positional arguments. matches from the regular expression are provided as positional arguments.
* The keyword arguments are made up of any named parts matched by the * The keyword arguments are made up of any named parts matched by the
path expression, overridden by any arguments specified in the optional path expression that are provided, overridden by any arguments specified
``kwargs`` argument to :func:`django.urls.path` or in the optional ``kwargs`` argument to :func:`django.urls.path` or
:func:`django.urls.re_path`. :func:`django.urls.re_path`.
.. versionchanged:: 3.0
In older versions, the keyword arguments with ``None`` values are
made up also for not provided named parts.
#. If no URL pattern matches, or if an exception is raised during any #. If no URL pattern matches, or if an exception is raised during any
point in this process, Django invokes an appropriate point in this process, Django invokes an appropriate
error-handling view. See `Error handling`_ below. error-handling view. See `Error handling`_ below.