aboutsummaryrefslogtreecommitdiffstats
path: root/rest_framework/versioning.py
diff options
context:
space:
mode:
Diffstat (limited to 'rest_framework/versioning.py')
-rw-r--r--rest_framework/versioning.py19
1 files changed, 3 insertions, 16 deletions
diff --git a/rest_framework/versioning.py b/rest_framework/versioning.py
index a76da17a..51b886f3 100644
--- a/rest_framework/versioning.py
+++ b/rest_framework/versioning.py
@@ -1,8 +1,6 @@
# coding: utf-8
from __future__ import unicode_literals
from django.utils.translation import ugettext_lazy as _
-from django.core.urlresolvers import resolve as django_resolve
-from django.core.urlresolvers import ResolverMatch
from rest_framework import exceptions
from rest_framework.compat import unicode_http_header
from rest_framework.reverse import _reverse
@@ -26,9 +24,6 @@ class BaseVersioning(object):
def reverse(self, viewname, args=None, kwargs=None, request=None, format=None, **extra):
return _reverse(viewname, args, kwargs, request, format, **extra)
- def resolve(self, path, urlconf=None):
- return django_resolve(path, urlconf)
-
def is_allowed_version(self, version):
if not self.allowed_versions:
return True
@@ -127,21 +122,13 @@ class NamespaceVersioning(BaseVersioning):
def reverse(self, viewname, args=None, kwargs=None, request=None, format=None, **extra):
if request.version is not None:
- viewname = request.version + ':' + viewname
+ viewname = self.get_versioned_viewname(viewname, request)
return super(NamespaceVersioning, self).reverse(
viewname, args, kwargs, request, format, **extra
)
- def resolve(self, path, urlconf=None, request=None):
- match = django_resolve(path, urlconf)
- if match.namespace:
- _, view_name = match.view_name.split(':')
- return ResolverMatch(func=match.func,
- args=match.args,
- kwargs=match.kwargs,
- url_name=view_name,
- app_name=match.app_name)
- return match
+ def get_versioned_viewname(self, viewname, request):
+ return request.version + ':' + viewname
class HostNameVersioning(BaseVersioning):