mirror of
				https://github.com/django/django.git
				synced 2025-10-31 09:41:08 +00:00 
			
		
		
		
	[1.10.x] Refs #22384 -- Readded RegexURLResolver.reverse().
It was removed in785cc71d5bonly because it was untested and unused in Django itself, however, some third-party apps use it. Backport of4e400dcb79from master
This commit is contained in:
		| @@ -323,6 +323,9 @@ class RegexURLResolver(LocaleRegexProvider): | |||||||
|             callback = getattr(urls, 'handler%s' % view_type) |             callback = getattr(urls, 'handler%s' % view_type) | ||||||
|         return get_callable(callback), {} |         return get_callable(callback), {} | ||||||
|  |  | ||||||
|  |     def reverse(self, lookup_view, *args, **kwargs): | ||||||
|  |         return self._reverse_with_prefix(lookup_view, '', *args, **kwargs) | ||||||
|  |  | ||||||
|     def _reverse_with_prefix(self, lookup_view, _prefix, *args, **kwargs): |     def _reverse_with_prefix(self, lookup_view, _prefix, *args, **kwargs): | ||||||
|         if args and kwargs: |         if args and kwargs: | ||||||
|             raise ValueError("Don't mix *args and **kwargs in call to reverse()!") |             raise ValueError("Don't mix *args and **kwargs in call to reverse()!") | ||||||
|   | |||||||
| @@ -364,6 +364,12 @@ class ResolverTests(unittest.TestCase): | |||||||
|         except TypeError: |         except TypeError: | ||||||
|             self.fail('Failed to coerce lazy object to text') |             self.fail('Failed to coerce lazy object to text') | ||||||
|  |  | ||||||
|  |     def test_resolver_reverse(self): | ||||||
|  |         resolver = get_resolver('urlpatterns_reverse.named_urls') | ||||||
|  |         self.assertEqual(resolver.reverse('named-url1'), '') | ||||||
|  |         self.assertEqual(resolver.reverse('named-url2', 'arg'), 'extra/arg/') | ||||||
|  |         self.assertEqual(resolver.reverse('named-url2', extra='arg'), 'extra/arg/') | ||||||
|  |  | ||||||
|     def test_non_regex(self): |     def test_non_regex(self): | ||||||
|         """ |         """ | ||||||
|         Verifies that we raise a Resolver404 if what we are resolving doesn't |         Verifies that we raise a Resolver404 if what we are resolving doesn't | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user