summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTomáš Ehrlich <tomas.ehrlich@gmail.com>2015-01-26 11:09:50 +0100
committerTim Graham <timograham@gmail.com>2015-01-26 12:42:08 -0500
commit5dff3513cc1bb998abe60f52269790268a74220c (patch)
tree10879dcd47aa9c5b45e2cf07ee1f720cd59df80c
parent2d990fb7fa6a04bb709aa9d7f687ec009c557c9e (diff)
[1.8.x] Fixed #24220 - Allowed lazy objects for success_url
Backport of 511be35779a98427387d9aa4abacce01dedd7272 from master
-rw-r--r--django/views/generic/edit.py4
-rw-r--r--tests/generic_views/views.py4
2 files changed, 5 insertions, 3 deletions
diff --git a/django/views/generic/edit.py b/django/views/generic/edit.py
index 6f514c3a70..a4329a25b0 100644
--- a/django/views/generic/edit.py
+++ b/django/views/generic/edit.py
@@ -165,6 +165,8 @@ class ModelFormMixin(FormMixin, SingleObjectMixin):
Returns the supplied URL.
"""
if self.success_url:
+ # force_text can be removed with deprecation warning
+ self.success_url = force_text(self.success_url)
if PERCENT_PLACEHOLDER_REGEX.search(self.success_url):
warnings.warn(
"%()s placeholder style in success_url is deprecated. "
@@ -299,6 +301,8 @@ class DeletionMixin(object):
def get_success_url(self):
if self.success_url:
+ # force_text can be removed with deprecation warning
+ self.success_url = force_text(self.success_url)
if PERCENT_PLACEHOLDER_REGEX.search(self.success_url):
warnings.warn(
"%()s placeholder style in success_url is deprecated. "
diff --git a/tests/generic_views/views.py b/tests/generic_views/views.py
index 27ae5b2ca9..fe7fb88876 100644
--- a/tests/generic_views/views.py
+++ b/tests/generic_views/views.py
@@ -172,9 +172,7 @@ class SpecializedAuthorDelete(generic.DeleteView):
queryset = Author.objects.all()
template_name = 'generic_views/confirm_delete.html'
context_object_name = 'thingy'
-
- def get_success_url(self):
- return reverse('authors_list')
+ success_url = reverse_lazy('authors_list')
class BookConfig(object):