django-rest-framework - 路线如何与视图集一起使用?路由器不会根据“basename”生成视图?
问题描述
在文档中它说在某些情况下可能无法在某些情况下生成视图,所以我有一个:AssertionError:basename
未指定参数,并且无法从视图集中自动确定名称,因为它不必. queryset
属性.
好的,所以我要插入一个基本名称:
router = DefaultRouter()
router.register("links", links_views.LinkViewSet, basename="links")
urlpatterns = [
path("", include(router.urls))
]
因此,当我访问 url 时,它会引发错误:无法使用视图名称“链接详细信息”解析超链接关系的 URL。
也就是说,它会生成我插入到“basename”中的不受支持的视图(在这种情况下,它会生成单数名称的 vews,“link-detail”而不是“links-detail”)
如果我将“basename”更改为其他任何内容,它就不起作用。
但是当我简单地输入一个基本名称时,使用错误中出现的视图名称,导致:
router.register("links", links_views.LinkViewSet, basename="link")
我可以正常访问网址。
为什么会这样?我阅读了文档,但我无法理解这种行为
解决方案
推荐阅读
- reactjs - 为什么从我的 React 应用程序通过 Lambda 从 AWS DynamoDB 获得响应非常慢?
- sql - 如果不满足选择查询中的条件,则将值插入表中
- python - OSError: [WinError 193] %1 不是有效的 Win32 应用程序 - nltk
- jms - Artemis:java.net.BindException:无法分配请求的地址
- java - 如何将 Paging 3 从 Kotlin Flow 移植到 Java?- 找不到 PagingDataFlow.create 函数
- python - 日志记录本身的 Python 异常处理
- flutter - 如何在颤动中将小部件屏幕截图存储为 jpg 文件?
- laravel - 如何修复 Laravel 表离开页面
- javascript - state with different name but same array changed
- bots - 如何在等待反应中使用两个以上的自定义表情符号?