未找到 Django Rest 框架路由器

ale*_*lex 3 django django-rest-framework django-rest-viewsets

在我的应用程序中,我正在使用ModelViewSet,至于我使用的网址SimpleRouter()

主.url

urlpatterns = [
    url(r'^teams/', include('team.urls', namespace='teams')),
]
Run Code Online (Sandbox Code Playgroud)

团队网址

router = SimpleRouter()
router.register('', views.TeamViewSet, base_name='teams')
router.register('players', views.PlayersViewSet, base_name='players')

urlpatterns = [
    url(r'^', include(router.urls))
]
Run Code Online (Sandbox Code Playgroud)

我希望我的网址如下所示:http://.../teams/http://.../teams/players/。我的问题是,当我留空时,router.register('', views.TeamViewSet, base_name='teams')它会向玩家网址发送未找到的 404 错误,但如果我向第一个网址添加任何内容,例如:router.register('anything', views.TeamViewSet, base_name='teams'),它将起作用。

我怎样才能按照我想要的方式设置网址,为什么它不能以这种方式工作?

Gan*_*egi 6

更改 url 的顺序

router = SimpleRouter()
router.register('players', views.PlayersViewSet, base_name='players')
router.register('', views.TeamViewSet, base_name='teams')

urlpatterns = [
    url(r'^', include(router.urls))
]
Run Code Online (Sandbox Code Playgroud)