Commit 4b82421a authored by Luke Plant's avatar Luke Plant
Browse files

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
parent 4a5630fe
Loading
Loading
Loading
Loading
+10 −1
Original line number Diff line number Diff line
@@ -287,8 +287,17 @@ class RegexURLResolver(object):
                    candidate = result % unicode_kwargs
                if re.search(u'^%s' % pattern, candidate, re.UNICODE):
                    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 "
                "arguments '%s' not found." % (lookup_view, args, kwargs))
                "arguments '%s' not found." % (lookup_view_s, args, kwargs))

def resolve(path, urlconf=None):
    return get_resolver(urlconf).resolve(path)