Author: adrian Date: 2010-01-10 12:44:39 -0600 (Sun, 10 Jan 2010) New Revision: 12185
Modified: django/trunk/django/shortcuts/__init__.py django/trunk/tests/regressiontests/urlpatterns_reverse/tests.py Log: Fixed #11960 -- Improved error message for redirects. Thanks, mattmcc Modified: django/trunk/django/shortcuts/__init__.py =================================================================== --- django/trunk/django/shortcuts/__init__.py 2010-01-10 18:42:30 UTC (rev 12184) +++ django/trunk/django/shortcuts/__init__.py 2010-01-10 18:44:39 UTC (rev 12185) @@ -49,6 +49,9 @@ try: return redirect_class(urlresolvers.reverse(to, args=args, kwargs=kwargs)) except urlresolvers.NoReverseMatch: + # If this is a callable, re-raise. + if callable(to): + raise # If this doesn't "feel" like a URL, re-raise. if '/' not in to and '.' not in to: raise Modified: django/trunk/tests/regressiontests/urlpatterns_reverse/tests.py =================================================================== --- django/trunk/tests/regressiontests/urlpatterns_reverse/tests.py 2010-01-10 18:42:30 UTC (rev 12184) +++ django/trunk/tests/regressiontests/urlpatterns_reverse/tests.py 2010-01-10 18:44:39 UTC (rev 12185) @@ -165,7 +165,13 @@ res = redirect('http://example.com/') self.assertEqual(res['Location'], 'http://example.com/') + def test_redirect_view_object(self): + from views import absolute_kwargs_view + res = redirect(absolute_kwargs_view) + self.assertEqual(res['Location'], '/absolute_arg_view/') + self.assertRaises(NoReverseMatch, redirect, absolute_kwargs_view, wrong_argument=None) + class NamespaceTests(TestCase): urls = 'regressiontests.urlpatterns_reverse.namespace_urls'
-- You received this message because you are subscribed to the Google Groups "Django updates" group. To post to this group, send email to django-upda...@googlegroups.com. To unsubscribe from this group, send email to django-updates+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/django-updates?hl=en.