Все необходимые URL-адреса для маршрутизаторов и других устройств хранятся в корневом каталоге urls.py
Чтобы лучше обрабатывать растущее число маршрутов, я попытался переместить маршруты из приложений в соответствующие папки приложений, как это можно было бы сделать с чистым Django.
Код: Выделить всё
# urls.py
from django.contrib import admin
from django.urls import include, path
from rest_framework.routers import DefaultRouter
import core.views
router = DefaultRouter()
router.register(r'core/settings', core.views.SettingsViewSet, basename='settings')
router.register(r'core/organization', core.views.OrgViewSet, basename='org')
urlpatterns = [
path('api/', include(router.urls)),
path('api/een/', include('een.urls')),
path('admin/', admin.site.urls),
path('', include('rest_framework.urls', namespace='rest_framework')),
path('api/tokenauth/', authviews.obtain_auth_token),
]
Код: Выделить всё
# een/urls.py
from django.urls import path, include
from rest_framework import routers
from . import views
app_name = 'een'
router = routers.DefaultRouter()
router.register(
r'cvs',
views.EENSettingsViewSet,
basename='een-cvs',
)
urlpatterns = [
path('', include(router.urls)),
]
Я использую drf-spectacular, который правильно распознает даже включенные URL-адреса приложений.
Я пробовал несколько разных комбинации, другой порядок URL-адресов и т. д. — безуспешно.
Что я упускаю из виду? Или это общая особенность DRF, и мне действительно следует хранить все в корневом файле urls.py - если мне нужен полный доступный для просмотра API.
Подробнее здесь: https://stackoverflow.com/questions/793 ... wsable-api
Мобильная версия