Django CBV与FBV原理及实例详解
FBV 就是在视图里使用函数处理请求。到这里,这些方法和function-based view差不多了,要接收request,得到一个response返回。在django1.3之前,generic view也就是所谓的通用视图,使用的是function-based-view,亦即基于函数的视图。有人认为fbv比cbv更pythonic,窃以为不然。python的一大重要的特性就是面向对象。cbv是通过class的方式来实现视图方法的。class相对于function,更能利用多态的特定,因此更容易从宏观层面上将项目内的比较通用的功能抽象出来。Mixin就是写好了的一些基础类,然后通过不同的Mixin组合成为最终想要的类。因此login一旦被用户访问,真正被执行是view函数。view――》as_view――》LoginView。在子类没有定义dispatch的情况下,调用父类的。且返回结果是dispatch的返回结果,且一路回传到页面显示。
用户评论