美好的一天SO!
Java旁边我正在尝试学习一些Python / Django,因为我工作的公司也将使用Django。但是,我试图弄清楚如何使用基于通用类的视图。我希望有人能给我一些信息,指导我正确的方向来解决我的问题。
我有一个小型博客应用程序,包含GCBV(基于通用类的视图)的CRUD(创建,读取,更新,删除)功能。在详细信息视图中,我有一个发布链接:
{% url 'blogs:publish' blog.pk %}
我想使用如下:
url(r'^(?P[0-9]+)/publish/$', xxx, name='publish')
我无法让它发挥作用。我尝试(和类似的尝试)在Update(UpdateView)类中创建一个名为publish(self,** kwargs)的方法:并使url模式调用它:
url(r'^(?P[0-9]+)/publish/$', views.Update.publish(), name='publish')
这显然不起作用,否则你现在不会读它;)我一直在阅读一些文档/ google / etc,但主要是基于函数或者教程在CRUD之后停止。你可以把我推向正确的方向(提示/清除教程/示例)或解释我做错了选择吗?提前谢谢!
答案 0 :(得分:1)
UpdateView用于更新,但您可以查看CreateView。它用于创建对象。
此外,您需要了解您无法调用方法,因为它甚至很难想象它是如何工作的。 GCBV只是已经编写的方法的序列,使您的生活更轻松。您可以覆盖GCBV基本方法并创建自己的方法,然后可以在视图中使用,但不能在网址中调用它们。