在 Django 中命名基于类的视图是否有错误的方法?

A C*_*pos 5 django

这是一个关于代码风格和最佳实践的问题。

在我们的 Django 项目中,我们有基于类的视图,其命名如下:

urls.py

path('project/<int:pk>/clone/', CloneView.as_view(), name='clone'),
path('project/<int:pk>/delete/', ProjectDelete.as_view(), name='project-delete'),
path('project/<int:pk>/optimize/', ProjectOptimize.as_view(), name='project-optimize'),
path('project/<int:pk>/report/', ReportView.as_view(), name='report'),
Run Code Online (Sandbox Code Playgroud)

正如你所看到的,其中一些我们会说MyClassView.as_view(),而另一些我们只是说MyClass.as_view()。但我也注意到,在文档中,他们总是使用第一种形式: https: //docs.djangoproject.com/en/2.2/topics/class-based-views/ 引起我注意的是我们从不使用视图名称,例如:name=clone-name

我的问题是:在类名中明确说明该类是一个视图有什么明显的优点吗?不使用它是“错误”吗?

我想保持我们的代码库一致。谢谢你们!

Ala*_*air 4

我认为是否包含后缀并不重要View。在 Django 项目中包含该名称很常见,但最重要的是在您自己的项目中保持一致。

使用ViewForm后缀的优点之一是避免名称冲突。例如BookViewBookForm模型Book不能相互冲突。

您可以通过导入模块而不是对象来避免冲突,在这种情况下,不需要Form和后缀。View