Improved NoReverseMatch error message when invalid args/kwargs are passed.
Refs #8611 git-svn-id: http://code.djangoproject.com/svn/django/trunk@11482 bcc190cf-cafb-0310-a4f2-bffc1f526a37
This commit is contained in:
parent
4a5630fe75
commit
4b82421a85
|
@ -287,8 +287,17 @@ class RegexURLResolver(object):
|
||||||
candidate = result % unicode_kwargs
|
candidate = result % unicode_kwargs
|
||||||
if re.search(u'^%s' % pattern, candidate, re.UNICODE):
|
if re.search(u'^%s' % pattern, candidate, re.UNICODE):
|
||||||
return candidate
|
return candidate
|
||||||
|
# lookup_view can be URL label, or dotted path, or callable, Any of
|
||||||
|
# these can be passed in at the top, but callables are not friendly in
|
||||||
|
# error messages.
|
||||||
|
m = getattr(lookup_view, '__module__', None)
|
||||||
|
n = getattr(lookup_view, '__name__', None)
|
||||||
|
if m is not None and n is not None:
|
||||||
|
lookup_view_s = "%s.%s" % (m, n)
|
||||||
|
else:
|
||||||
|
lookup_view_s = lookup_view
|
||||||
raise NoReverseMatch("Reverse for '%s' with arguments '%s' and keyword "
|
raise NoReverseMatch("Reverse for '%s' with arguments '%s' and keyword "
|
||||||
"arguments '%s' not found." % (lookup_view, args, kwargs))
|
"arguments '%s' not found." % (lookup_view_s, args, kwargs))
|
||||||
|
|
||||||
def resolve(path, urlconf=None):
|
def resolve(path, urlconf=None):
|
||||||
return get_resolver(urlconf).resolve(path)
|
return get_resolver(urlconf).resolve(path)
|
||||||
|
|
Loading…
Reference in New Issue