1

美好的一天!

在 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')

这显然是行不通的,否则你现在不会阅读这个;)我已经阅读了很多文档/谷歌/等,但主要是基于函数的,或者教程在 CRUD 之后停止。您能否将我推向正确的方向(提示/清除教程/示例)或解释我选择错误的地方?提前致谢!

4

1 回答 1

1

UpdateView用于更新,但您可以查看CreateView。它用于创建对象。

此外,您需要了解您不能调用方法,因为很难想象它必须如何工作。GCBV 只是一系列已经编写好的方法,可以让你的生活更轻松。您可以覆盖 GCBV 基本方法并创建自己的方法,然后可以在视图中使用它们,但不能在 url 中调用它们。

于 2015-11-18T21:37:10.473 回答