Python 使用API根目录而不使用DRF路由器

Python 使用API根目录而不使用DRF路由器,python,django,django-rest-framework,Python,Django,Django Rest Framework,我正在构建一个包含CRUD操作的API,并希望使用常规Django风格的urlconf行,而不是使用路由器。目前,我有一段代码如下所示: router = routers.DefaultRouter() router.register(r'media', media_views.MediaViewSet) router.register(r'mediaservers', servers_views.MediaServersViewSet) router.register(r'masterserv

我正在构建一个包含CRUD操作的API,并希望使用常规Django风格的urlconf行,而不是使用路由器。目前,我有一段代码如下所示:

router = routers.DefaultRouter()
router.register(r'media', media_views.MediaViewSet)
router.register(r'mediaservers', servers_views.MediaServersViewSet)
router.register(r'masterservers', servers_views.MasterServersViewSet)
稍后在urls.py中,我有如下条目:

url(r'^apiroot/', router.get_api_root_view()),
url(r'^apiv1/(?P<pk>[a-b]+)/$', include(router.urls)),
url(r'^apiroot/,路由器.get\u api\u root\u view()),
url(r'^apiv1/(?P[a-b]+)/$),包括(router.url)),
(第二条线路正在建设中,所以我知道它目前还不能运行)

我的问题是:如果我删除router对象并使用100%的urlconf条目,我怎么还能访问APIRoot页面?我在项目中经常使用它进行调试。在urls.py中同时包含路由器对象和urlconf条目(使用类似于上面的正则表达式)是一种糟糕的形式吗


仅为API根视图使用路由器对象是否存在任何问题,即使它只是开发过程中的临时对象

API根目录只是列出已注册视图集的视图。您可以使用自己的页面并在那里列出它们,而不是使用路由器并注册视图集。

如何获得已注册视图集的列表?只需查询应用程序的设置,以及每个应用程序的views.py,或者有更好的方法吗?手动注册它们已经类似于制作列表。