diff --git a/rest_framework/reverse.py b/rest_framework/reverse.py index 28df316aa..0a460db12 100644 --- a/rest_framework/reverse.py +++ b/rest_framework/reverse.py @@ -19,7 +19,14 @@ def reverse(viewname, args=None, kwargs=None, request=None, format=None, **extra kwargs['format'] = format if request: - namespace = request.resolver_match.namespace + if hasattr(request, 'resolver_match'): + namespace = request.resolver_match.namespace + else: + try: + namespace = resolve(request.path).namespace + except Http404: + namespace=None + if namespace and ':' not in viewname: viewname = '{namespace}:{viewname}'.format(namespace=namespace, viewname=viewname)