Last active
December 23, 2015 20:19
-
-
Save readevalprint/6688216 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| diff --git a/rest_framework/reverse.py b/rest_framework/reverse.py | |
| index a51b07f..ceed09f 100644 | |
| --- a/rest_framework/reverse.py | |
| +++ b/rest_framework/reverse.py | |
| @@ -4,6 +4,9 @@ Provide reverse functions that return fully qualified URLs | |
| from __future__ import unicode_literals | |
| from django.core.urlresolvers import reverse as django_reverse | |
| from django.utils.functional import lazy | |
| +from django.core.urlresolvers import resolve | |
| +from django.http import Http404 | |
| + | |
| def reverse(viewname, args=None, kwargs=None, request=None, format=None, **extra): | |
| @@ -14,7 +17,19 @@ def reverse(viewname, args=None, kwargs=None, request=None, format=None, **extra | |
| if format is not None: | |
| kwargs = kwargs or {} | |
| kwargs['format'] = format | |
| - url = django_reverse(viewname, args=args, kwargs=kwargs, **extra) | |
| + | |
| + try: | |
| + namespace=resolve(request.path).namespace | |
| + except Http404: | |
| + namespace=None | |
| + | |
| + if namespace: | |
| + viewname = '{namespace}:{viewname}'.format(namespace=namespace, | |
| + viewname=viewname) | |
| + | |
| + url = django_reverse(viewname, args=args, kwargs=kwargs, | |
| + #current_app=resolve(request.path).app_name, | |
| + **extra) | |
| if request: | |
| return request.build_absolute_uri(url) | |
| return url |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment