Fix root page

This commit is contained in:
Sumanth Ratna 2020-12-31 13:50:48 -05:00
parent 0dad5f15bf
commit e7f6b71f75
No known key found for this signature in database
GPG Key ID: 310949B7C8B60603

View File

@ -27,7 +27,7 @@ from rest_framework.schemas import SchemaGenerator
from rest_framework.schemas.views import SchemaView from rest_framework.schemas.views import SchemaView
from rest_framework.settings import api_settings from rest_framework.settings import api_settings
from rest_framework.urlpatterns import format_suffix_patterns from rest_framework.urlpatterns import format_suffix_patterns
from rest_framework.viewsets import ViewSet from rest_framework.viewsets import ViewSetMixin
Route = namedtuple('Route', ['url', 'mapping', 'name', 'detail', 'initkwargs']) Route = namedtuple('Route', ['url', 'mapping', 'name', 'detail', 'initkwargs'])
DynamicRoute = namedtuple('DynamicRoute', ['url', 'name', 'detail', 'initkwargs']) DynamicRoute = namedtuple('DynamicRoute', ['url', 'name', 'detail', 'initkwargs'])
@ -148,7 +148,11 @@ class SimpleRouter(BaseRouter):
Returns a list of the Route namedtuple. Returns a list of the Route namedtuple.
""" """
if not isinstance(viewset, ViewSet): # use `issubclass` and not `isinstance` because `viewset` may be an
# uninstantiated class.
if not issubclass(viewset, ViewSetMixin):
if issubclass(viewset, View):
return [viewset.as_view(), ]
# `viewset` is not a REST Framework ViewSet, # `viewset` is not a REST Framework ViewSet,
# so we can't dynamically generate any routes # so we can't dynamically generate any routes
return [viewset, ] return [viewset, ]
@ -282,7 +286,7 @@ class SimpleRouter(BaseRouter):
name = route.name.format(basename=basename) name = route.name.format(basename=basename)
django_path = re_path(regex, view, name=name) django_path = re_path(regex, view, name=name)
else: else:
django_path = path(prefix, view, name=basename) django_path = path(prefix, view, name=prefix)
ret.append(django_path) ret.append(django_path)
@ -306,7 +310,7 @@ class APIRootView(views.APIView):
url_name = namespace + ':' + url_name url_name = namespace + ':' + url_name
try: try:
ret[key] = reverse( ret[key] = reverse(
url_name, key,
args=args, args=args,
kwargs=kwargs, kwargs=kwargs,
request=request, request=request,