summaryrefslogtreecommitdiff
path: root/docs
diff options
context:
space:
mode:
authorBaptiste Mispelon <bmispelon@gmail.com>2013-11-07 12:30:04 +0100
committerBaptiste Mispelon <bmispelon@gmail.com>2013-11-08 10:55:11 +0100
commit6c34e18bd41237328b50177411809bd800fcab21 (patch)
treeb25f88f05956ea63514b4672ba3f4240897c3c9a /docs
parent6026a5091b4973366c008f5439bfd496d50f5fa4 (diff)
[1.6.x] Fixed #21396: Document backwards-incompatible change in RedirectView.get_redirect_url.
Thanks to Tim for the review. Backport of f2e0266be766b0b6149377b90ae3ddc41c91c3fb from master.
Diffstat (limited to 'docs')
-rw-r--r--docs/ref/class-based-views/base.txt17
-rw-r--r--docs/releases/1.6.txt6
2 files changed, 20 insertions, 3 deletions
diff --git a/docs/ref/class-based-views/base.txt b/docs/ref/class-based-views/base.txt
index da4c66280e..06a2e8dd44 100644
--- a/docs/ref/class-based-views/base.txt
+++ b/docs/ref/class-based-views/base.txt
@@ -239,12 +239,23 @@ RedirectView
**Methods**
- .. method:: get_redirect_url(**kwargs)
+ .. method:: get_redirect_url(*args, **kwargs)
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
- string, performs expansion of ``%`` parameters in that string, as well
- as the appending of query string if requested by :attr:`query_string`.
+ string and performs expansion of ``%`` named parameters in that 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
returns a redirect-ready URL string.
diff --git a/docs/releases/1.6.txt b/docs/releases/1.6.txt
index 42ebfdbc73..999103df9a 100644
--- a/docs/releases/1.6.txt
+++ b/docs/releases/1.6.txt
@@ -913,6 +913,12 @@ Miscellaneous
been removed. Use ``socket.error`` provided by the standard library instead.
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
==========================