美好的一天!(GCBV)如何调用自定义方法发布博客(UpdateView)
旁边的Java我试图学习一些Python/Django,因为我工作的公司也将使用Django。但是,我想弄清楚如何使用基于泛型类的视图。我希望有人能给我一些信息来指导我正确的方向来解决我的问题。
我有一个包含CRUD(创建,读取,更新,删除)与GCBV(通用类基础视图)能力的小型博客应用程序。在详细信息视图我有一个链接发布:
{% url 'blogs:publish' blog.pk %}
,我想用那样:
url(r'^(?P[0-9]+)/publish/$', xxx, name='publish')
我只是无法得到它的工作。我试图(和simular尝试)中创建一个名为发布的更新(更新视图)类中的方法(个体经营,** kwargs):,使URL模式称之为:
url(r'^(?P[0-9]+)/publish/$', views.Update.publish(), name='publish')
这显然没有按没有工作,否则你现在不会阅读这篇文章;)我一直在阅读一些文档/谷歌/等,但大多数是基于功能或教程在CRUD后停止。你能把我推向正确的方向吗(提示/清楚的教程/例子)还是我解释错误的选择?提前致谢!
谢谢您的回复。当创建博客时,它始终未发布,详细信息视图显示发布链接。我怎样才能让该链接正确发布博客? – Nrzonline
@Nrzonline,你需要做的就是创建一个链接并映射一个'url',它将捕获'object'的'pk'。在此之后,您需要编写一个视图,该视图使用在url中捕获的'pk'获取对象实例,并更新对象的字段'object.published = True',之后您只需保存该对象并返回'HttpResponseRedirect'。在这种情况下使用功能基础视图是可以的。如果您不想重新加载页面,也可以使用ajax,但这取决于您想要执行的操作。 – pythad
谢谢。对我来说,感觉就像我不得不将它包装到GCBV中,我实际上不知道为什么。无论如何,它现在正在工作。再次感谢! – Nrzonline