繁体   English   中英

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

[英]How to pass object to a class-based view from a function-based view?

我正在尝试定义一个基于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运行正常。

您必须像这样将pk作为关键字参数传递

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM