本質上,根據我添加路由到我的urlpatterns
的順序,可瀏覽的API將一次只顯示一個路由器。這裏是我的代碼:DRF Browsable API只顯示一個路由器
urls.py:
from django.conf.urls import url, include
from rest_framework import routers
from .views import PlantViewSet
# url router
router = routers.DefaultRouter()
router.register(r'plants', PlantViewSet, base_name='Plants')
djoser_urls = [url(r'^', include('djoser.urls')), ]
urlpatterns = [
url(r'^api-auth/', include('rest_framework.urls', namespace='rest_framework')),
url(r'^docs/', include('rest_framework_swagger.urls')),
# url(r'^', include(router.urls)),
# url(r'^', include('djoser.urls')),
] + djoser_urls + router.urls
這隻能顯示djoser
網址:
但是簡單地扭轉了我添加的URL的順序:
urls.py:
from django.conf.urls import url, include
from rest_framework import routers
from .views import PlantViewSet
# url router
router = routers.DefaultRouter()
router.register(r'plants', PlantViewSet, base_name='Plants')
djoser_urls = [url(r'^', include('djoser.urls')), ]
urlpatterns = [
url(r'^api-auth/', include('rest_framework.urls', namespace='rest_framework')),
url(r'^docs/', include('rest_framework_swagger.urls')),
# url(r'^', include(router.urls)),
# url(r'^', include('djoser.urls')),
] + router.urls + djoser_urls
這隻顯示router
網址!
同樣的事情發生時,我只是用include()
線我已經註釋掉,以先到者爲準列表中是被顯示的唯一路由器。此外,無論哪個路由器被拿起,api-auth/
和docs/
網址都不會顯示。無論如何,無需創建自己的自定義視圖就可以獲得統一的API根?
Drat。哦,謝謝你的幫助! – pdeuchler