这是关于代码风格和最佳实践的问题。
在我们的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'),
如您所见,其中一些我们说MyClassView.as_view()
,而其他一些我们只说MyClass.as_view()
。但是我还注意到,在文档中,他们始终使用第一种形式:https://docs.djangoproject.com/en/2.2/topics/class-based-views/
也引起我注意的是,我们从不使用名称作为视图,例如:name=clone-name
。
我的问题是:在类名中明确说出该类是视图是否有明显的优势?不使用它是“错误的”吗?
我想保持我们的代码基础一致。 谢谢大家!
答案 0 :(得分:3)
我认为是否包含View
后缀并不重要。在Django项目中包含名称是很常见的,但最重要的是在您自己的项目中保持一致。
使用后缀View
或Form
的一个优点是避免名称冲突。例如BookView
,BookForm
和模型Book
不能互相冲突。
您可以通过importing modules instead of objects避免冲突,在这种情况下,不必使用Form
和View
后缀。