不得不吐槽一句,Java大法好,Spring那一套真的是太清晰明了了。相对来看,个人觉得Django的模块、视图这一块乱乱的。
最近刚看了一点基于类的视图,最开始我的理解是类似于spring中controller的集合。比如一个博客系统,我们在spring中会有usercontroller、blogcontroller等几个不同的类,分别来写业务相关的代码;但是django的基础框架中中并不会对几个controller(或者说views)分不同的文件来写(至少我看到github上高star的项目也是如此),因此断定是在views里面多设置几个class,从而来达到在spring中多建几个controller的效果。
后来再接着深入往下看,发现事情也并非向上面想的那么简单。基于类的views可以更简单轻松的省去一些可复用的代码,因为django中提供了ListView等可以继承的通用视图类,它们包含了一些会经常使用到的方法,为开发带来了方便。不像spring中几个功能类似的controller还是要分别写很多业务代码。
—待续