8

在一个新的 Django 项目中,我只是想知道是使用基于类的视图 (CBV) 还是基于函数的视图 (FBV)。

根据Django 的文档

基于类的视图提供了另一种将视图实现为 Python 对象而不是函数的方法。它们不会替代基于函数的视图,但与基于函数的视图相比具有一定的差异和优势

这似乎与 python Zen '只有一种方法可以做到'相矛盾

那么,哪种方式更好呢?

到目前为止,我只看到了三种可能性:

  1. 始终使用 FBV

    这意味着根本不使用通用视图(因为这些视图自 1.5 以来都是基于类的)

  2. 始终使用 CBV:

    这对请求处理顺序的确定存在一定的问题。看

    http://lukeplant.me.uk/blog/posts/djangos-cbvs-were-a-mistake/

    我也认为构建整个类层次结构对性能不利。在那种情况下,我也会问自己,为什么 FBV 还没有被弃用?

  3. 将通用 CBV 放入 FBV,根据

    https://gist.github.com/spookylukey/2596285

    这导致了很多残酷的样板代码

您是否看到任何其他方式,或者有人知道这些观点的去向吗?

4

1 回答 1

4
于 2013-07-22T13:43:48.807 回答