在一个新的 Django 项目中,我只是想知道是使用基于类的视图 (CBV) 还是基于函数的视图 (FBV)。
根据Django 的文档:
基于类的视图提供了另一种将视图实现为 Python 对象而不是函数的方法。它们不会替代基于函数的视图,但与基于函数的视图相比具有一定的差异和优势
这似乎与 python Zen '只有一种方法可以做到'相矛盾
那么,哪种方式更好呢?
到目前为止,我只看到了三种可能性:
始终使用 FBV
这意味着根本不使用通用视图(因为这些视图自 1.5 以来都是基于类的)
始终使用 CBV:
这对请求处理顺序的确定存在一定的问题。看
http://lukeplant.me.uk/blog/posts/djangos-cbvs-were-a-mistake/
我也认为构建整个类层次结构对性能不利。在那种情况下,我也会问自己,为什么 FBV 还没有被弃用?
将通用 CBV 放入 FBV,根据
https://gist.github.com/spookylukey/2596285
这导致了很多残酷的样板代码
您是否看到任何其他方式,或者有人知道这些观点的去向吗?