mirror of
https://github.com/encode/django-rest-framework.git
synced 2025-07-27 16:40:03 +03:00
Fix root view
This commit is contained in:
parent
f87e442d7d
commit
e7d0bb8156
|
@ -20,6 +20,7 @@ from inspect import isclass
|
||||||
from django.core.exceptions import ImproperlyConfigured
|
from django.core.exceptions import ImproperlyConfigured
|
||||||
from django.urls import NoReverseMatch, re_path, path
|
from django.urls import NoReverseMatch, re_path, path
|
||||||
from django.views.generic.base import View
|
from django.views.generic.base import View
|
||||||
|
from django.urls import get_resolver
|
||||||
|
|
||||||
from rest_framework import views
|
from rest_framework import views
|
||||||
from rest_framework.response import Response
|
from rest_framework.response import Response
|
||||||
|
@ -312,8 +313,18 @@ class APIRootView(views.APIView):
|
||||||
if namespace:
|
if namespace:
|
||||||
url_name = namespace + ':' + url_name
|
url_name = namespace + ':' + url_name
|
||||||
try:
|
try:
|
||||||
|
reverse_dict = get_resolver().reverse_dict
|
||||||
|
if reverse_dict.get(url_name):
|
||||||
|
# REST Framework view
|
||||||
|
view_name = url_name
|
||||||
|
elif reverse_dict.get(key):
|
||||||
|
# Django view
|
||||||
|
view_name = key
|
||||||
|
else:
|
||||||
|
continue
|
||||||
|
|
||||||
ret[key] = reverse(
|
ret[key] = reverse(
|
||||||
key,
|
view_name,
|
||||||
args=args,
|
args=args,
|
||||||
kwargs=kwargs,
|
kwargs=kwargs,
|
||||||
request=request,
|
request=request,
|
||||||
|
|
Loading…
Reference in New Issue
Block a user