From e2c41f22a91f4e1fdf24db5ee57cd9af24ee5049 Mon Sep 17 00:00:00 2001 From: Tim Watts Date: Thu, 24 Oct 2013 17:46:57 +0000 Subject: [PATCH] Fixed attribute missing bug when reverse was used in the shell --- rest_framework/reverse.py | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/rest_framework/reverse.py b/rest_framework/reverse.py index d2b18bb00..28df316aa 100644 --- a/rest_framework/reverse.py +++ b/rest_framework/reverse.py @@ -18,19 +18,17 @@ def reverse(viewname, args=None, kwargs=None, request=None, format=None, **extra kwargs = kwargs or {} kwargs['format'] = format - try: - namespace=resolve(request.path).namespace - except Http404: - namespace=None - - if namespace: - viewname = '{namespace}:{viewname}'.format(namespace=namespace, + if request: + namespace = request.resolver_match.namespace + if namespace and ':' not in viewname: + viewname = '{namespace}:{viewname}'.format(namespace=namespace, viewname=viewname) url = django_reverse(viewname, args=args, kwargs=kwargs, **extra) if request: return request.build_absolute_uri(url) + return url