路线如何与视图集一起使用?路由器不会基于“基本名称”生成视图?

时间:2019-04-05 22:28:50

标签: django-rest-framework

在文档中说,在某些情况下可能无法生成视图,因此我有一个:AssertionError:basename参数未指定,并且无法从视图集中自动确定名称,因为它不需要. queryset属性。

好的,所以我要插入一个基本名称:

router = DefaultRouter()
router.register("links", links_views.LinkViewSet, basename="links")
urlpatterns = [
    path("", include(router.urls))
]

因此,当我访问该URL时,它会引发错误:无法使用视图名称“ link-detail”来解析超链接关系的URL。

也就是说,它生成我插入“ basename”中的不受支持的视图(在这种情况下,它以单数名称“ link-detail”而不是“ links-detail”生成vews)

如果我将“基本名称”更改为其他任何内容,则将无法使用。

但是当我只是输入一个基本名称时,使用出现在错误中的视图名称,结果是:

router.register("links", links_views.LinkViewSet, basename="link")

我可以正常访问网址。

为什么这样工作?我阅读了文档,但无法理解这种行为

0 个答案:

没有答案