Django 的 class based views 比函数 views 对比,有哪些好处?有没有用 cbv 开发的例子?多谢。

2015-01-26 11:22:55 +08:00
 icecream187
Django的class based views比函数views 对比,有哪些好处?有没有用cbv开发的例子?多谢。
5555 次点击
所在节点    Python
24 条回复
neoblackcap
2015-01-26 13:17:15 +08:00
@tini9 我用signal主要是在异步回调,以及model pre_save之类的内置signal方法。这些地方若是都换成函数回调,恐怕之后不好维护。
icecream187
2015-01-26 13:45:12 +08:00
多谢各位
adieu
2015-01-26 14:22:11 +08:00
@tini9 你说的有道理,所以不能乱用封装,把所有东西都揉在一起。

但是django以及django的第三方库解决的一个核心问题是快速开发。把各种功能封装成一个个独立的app,然后开发者只需要根据自己的需要来使用是django的开发模式。那如何解决在app当中实现业务逻辑,在项目中根据需要来设置以及重载是django作为一个框架需要解决的问题。而class based view则是解决这个问题的一个办法。

另外 @yueyoum 提到的signal解耦也是为了app的复用,独立app是不可能知道使用它的项目环境的,也不可能主动来调用项目的代码,这个时候就需要使用signal来把各个app整合起来。
happywowwow
2015-01-26 15:22:08 +08:00
@yueyoum
我是使用场景不类似于你所说的

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/165479

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX