2016-03-04 73 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

相關問題