summaryrefslogtreecommitdiff
path: root/django
diff options
context:
space:
mode:
Diffstat (limited to 'django')
-rw-r--r--django/urls/resolvers.py22
1 files changed, 17 insertions, 5 deletions
diff --git a/django/urls/resolvers.py b/django/urls/resolvers.py
index 0bb5645dc1..1de59a8763 100644
--- a/django/urls/resolvers.py
+++ b/django/urls/resolvers.py
@@ -478,11 +478,23 @@ class RegexURLResolver(LocaleRegexProvider):
lookup_view_s = lookup_view
patterns = [pattern for (possibility, pattern, defaults) in possibilities]
- raise NoReverseMatch(
- "Reverse for '%s' with arguments '%s' and keyword "
- "arguments '%s' not found. %d pattern(s) tried: %s" %
- (lookup_view_s, args, kwargs, len(patterns), patterns)
- )
+ if patterns:
+ if args:
+ arg_msg = "arguments '%s'" % (args,)
+ elif kwargs:
+ arg_msg = "keyword arguments '%s'" % (kwargs,)
+ else:
+ arg_msg = "no arguments"
+ msg = (
+ "Reverse for '%s' with %s not found. %d pattern(s) tried: %s" %
+ (lookup_view_s, arg_msg, len(patterns), patterns)
+ )
+ else:
+ msg = (
+ "Reverse for '%(view)s' not found. '%(view)s' is not "
+ "a valid view function or pattern name." % {'view': lookup_view_s}
+ )
+ raise NoReverseMatch(msg)
class LocaleRegexURLResolver(RegexURLResolver):