Django DetailView的URL中的附加参数

时间:2015-11-18 10:25:22

标签: django django-generic-views

在Django的DetailView文档中,它显示了以下网址:

  • url(r'^(?P<slug>[-\w]+)/$', ArticleDetailView.as_view(), name='article-detail'),
  • url(r'^(?P<pk>[-\w]+)/$', ArticleDetailView.as_view(), name='article-detail'),

也就是说,它只允许使用关键字slugpk。 除了slugpk之外,是否可以在网址中添加其他关键字,例如:

url(r'^(?P<author_slug>[-\w]+)/(?P<slug>[-\w]+)/$', ArticleDetailView.as_view(), name='article-detail'),

请注意网址中的附加参数author_slug

1 个答案:

答案 0 :(得分:0)

是的,确实如此。您可以通过视图中的kwargs dict访问其他kwargs(假设为CBV)。

例如,在基于类的视图中,您可以self.kwargs['memes']

请注意,这不会自动说...为您执行对象查找(如果您正在编写详细信息视图)。您必须覆盖get_object()