mirror of
https://github.com/encode/django-rest-framework.git
synced 2025-07-27 16:40:03 +03:00
Update SimpleRouter
This commit is contained in:
parent
3db8877889
commit
497ebcd6c0
|
@ -18,6 +18,7 @@ from collections import OrderedDict, namedtuple
|
||||||
|
|
||||||
from django.core.exceptions import ImproperlyConfigured
|
from django.core.exceptions import ImproperlyConfigured
|
||||||
from django.urls import NoReverseMatch, re_path
|
from django.urls import NoReverseMatch, re_path
|
||||||
|
from django.views.generic.base import View
|
||||||
|
|
||||||
from rest_framework import views
|
from rest_framework import views
|
||||||
from rest_framework.response import Response
|
from rest_framework.response import Response
|
||||||
|
@ -262,7 +263,13 @@ class SimpleRouter(BaseRouter):
|
||||||
'detail': route.detail,
|
'detail': route.detail,
|
||||||
})
|
})
|
||||||
|
|
||||||
|
if isinstance(viewset, ViewSet) or isinstance(viewset, View):
|
||||||
|
# `viewset` is either a REST Framework `ViewSet`
|
||||||
|
# or a Django class-based view.
|
||||||
view = viewset.as_view(mapping, **initkwargs)
|
view = viewset.as_view(mapping, **initkwargs)
|
||||||
|
else:
|
||||||
|
# assume that `viewset` is a Django view function
|
||||||
|
view = viewset
|
||||||
name = route.name.format(basename=basename)
|
name = route.name.format(basename=basename)
|
||||||
ret.append(re_path(regex, view, name=name))
|
ret.append(re_path(regex, view, name=name))
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue
Block a user