mirror of
https://github.com/encode/django-rest-framework.git
synced 2025-08-02 19:40:13 +03:00
Use the namespace from the current url
This commit is contained in:
parent
57a51f790b
commit
3a529d4af3
|
@ -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
|
||||
|
|
Loading…
Reference in New Issue
Block a user