FBV和CBV

Posted zhigu

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了FBV和CBV相关的知识,希望对你有一定的参考价值。

 

什么是FBV和CBV呢~~

  FBV 基于函数的视图

  CBV 基于类的视图

也就是说我们是用函数编写视图~还是类编写视图~~我们来看下两个的简单实现~~

urlpatterns = [
    path(admin/, admin.site.urls),
    path(test_fbv, test_fbv),
    path(test_cbv, TestCBV.as_view())
]
技术分享图片
def test_fbv(request):
    return HttpResponse("ok")

class TestCBV(View): def get(self, request): return HttpResponse("ok")
技术分享图片

我们可以看到,我们的CBV首先执行了as_view()方法,那我们看下我们这个方法里做了什么~

技术分享图片

 技术分享图片

我们可以看出~CBV在内部做了一个分发~本质和FBV是一样的~~

以后做接口开发的时候,我们就要用CBV,我们之前学了restful规范,现在就很容易理解我们为什么用CBV了。

面向资源编程,并且用HTTP的请求方式来对资源进行操作,还要遵循这些方法的语义,所以我们选择CBV编写我们接下来的视图函数。

 


以上是关于FBV和CBV的主要内容,如果未能解决你的问题,请参考以下文章

Django之FBV和CBV模式

django中的FBV和CBV

django中的FBV和CBV

django中的FBV和CBV

FBV和CBV

191112Django fbv和cbv