2016-03-04 55 views
0

我正在用CRUD操作的完整版本构建API,并且希望使用常规的Django风格的urlconf行而不是使用路由器。目前,我有一段代码,看起来像这样:在不使用DRF路由器的情况下使用API​​ Root

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)), 

(第二行是正在建设中,所以我知道它现在不工作)

我的问题是这样的:如果我删除路由器对象并去100%urlconf项,我怎么能仍然有权访问APIRoot页?我在项目工作中进行调试时使用了它。在urls.py中同时使用路由器对象和urlconf条目(使用类似上面的正则表达式)是不好的形式吗?

对于API Root视图,使用路由器对象只需是否存在任何问题,即使它在开发过程中只是暂时的?

回答

0

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

+0

你会如何得到注册的视图列表?只需查询应用程序的设置以及每个应用程序的views.py,还是有更好的方法? –

+0

那么,手动注册它们已经与制作列表类似。 – Linovia

相关问题