DjangoRestFramework - 创建自定义路由时“后缀”的作用是什么?

时间:2015-10-16 21:45:26

标签: django-rest-framework

我正在尝试按照此链接创建自己的自定义路由器:http://www.django-rest-framework.org/api-guide/routers/#example

对于第一条路线,有一条线说

initkwargs={'suffix': 'List'}

然后对于第二条路线,有一条线说:

initkwargs={'suffix': 'Detail'}

这条线到底是做什么的?当我向上滚动并阅读这里提到的内容时:http://www.django-rest-framework.org/api-guide/routers/#custom-routers它说

initkwargs: A dictionary of any additional arguments that should be passed when instantiating the view. Note that the suffix argument is reserved for identifying the viewset type, used when generating the view name and breadcrumb links.

看起来我甚至不需要在自定义路由中使用initkwargs(我没有任何其他参数需要传递给视图)。究竟是什么意思“注意后缀参数是为保存'视图集类型'而保留的”?我看不出它有什么好处。 (“映射”是否已显示它是什么动作?列表,检索等?)。

1 个答案:

答案 0 :(得分:0)

字段suffix用于REST框架的API视图输出中。页面标题设置为" {basename} {suffix}"对于特定的路线。除化妆品外,它没有任何效果。 "识别视图集类型"这不是一个程序化的东西,我认为这是你感到困惑的地方 - 它只是意味着在API显示页面中识别它。

它可能不是最有用的东西,但它确实略微改进了API显示,以查看" MyCoolAPI列表"等等,尤其是如果您有多个使用相同映射的路由。 suffix允许您在查看API时轻松区分它们。

您可以免费在initkwargs中进行设置,但如果未设置suffix,那么所有API页面的标题都只是&#34; {basename}&#34;。< / p>

相关问题