如何从基于函数的视图将对象传递给基于类的视图?

时间:2017-11-03 10:50:49

标签: python django

我正在尝试定义一个基于Django函数的视图,该视图将重定向到已定义的另一个基于类的视图。

views.py

class DetailView(generic.DetailView):
    model = Album
    template_name = 'music/details.html'
def albumdelete(request, pk):
    print(pk)
    return DetailView.as_view()(request, pk).get_queryset()

urls.py (仅限相关部分)

url(r'^delete/(?P<pk>[0-9]+)/$', views.albumdelete, name='album-delete')

以下是我收到的错误消息。

AttributeError at /music/delete/6/

Generic detail view DetailView must be called with either an object pk or a slug.

实际的DetailView工作正常。

1 个答案:

答案 0 :(得分:0)

您必须将pk作为关键字参数传递,如此

DetailView.as_view()(request, pk=pk).get_queryset()