Fixed #21396: Document backwards-incompatible change in RedirectView.get_redirect_url.

Thanks to Tim for the review.
This commit is contained in:
Baptiste Mispelon 2013-11-07 12:30:04 +01:00
parent 536c447820
commit f2e0266be7
2 changed files with 20 additions and 3 deletions

View File

@ -233,12 +233,23 @@ RedirectView
**Methods** **Methods**
.. method:: get_redirect_url(**kwargs) .. method:: get_redirect_url(*args, **kwargs)
Constructs the target URL for redirection. Constructs the target URL for redirection.
.. versionchanged:: 1.6
The signature of this method was changed to include ``*args``.
The default implementation uses :attr:`url` as a starting The default implementation uses :attr:`url` as a starting
string, performs expansion of ``%`` parameters in that string, as well string and performs expansion of ``%`` named parameters in that string
as the appending of query string if requested by :attr:`query_string`. using the named groups captured in the URL.
If :attr:`url` is not set, ``get_redirect_url()`` tries to reverse the
:attr:`pattern_name` using what was captured in the URL (both named and
unnamed groups are used).
If requested by :attr:`query_string`, it will also append the query
string to the generated URL.
Subclasses may implement any behavior they wish, as long as the method Subclasses may implement any behavior they wish, as long as the method
returns a redirect-ready URL string. returns a redirect-ready URL string.

View File

@ -913,6 +913,12 @@ Miscellaneous
been removed. Use ``socket.error`` provided by the standard library instead. been removed. Use ``socket.error`` provided by the standard library instead.
This change was also released in Django 1.5.5. This change was also released in Django 1.5.5.
* The signature of :meth:`django.views.generic.base.RedirectView.get_redirect_url`
has changed and now accepts positional arguments as well (``*args, **kwargs``).
Any unnamed captured group will now be passed to ``get_redirect_url()``
which may result in a ``TypeError`` if you don't update the signature of your
custom method.
Features deprecated in 1.6 Features deprecated in 1.6
========================== ==========================