一、FBV
FBV(function base views) 就是在视图里使用函数处理请求。
urlpatterns = [
path('admin/', admin.site.urls),
path('test_fbv', test_fbv),
path('test_cbv', TestCBV.as_view())
]
二、CBV
CBV(class base views) 就是在视图里使用类处理请求。
def test_fbv(request):
return HttpResponse("ok")
class TestCBV(View):
def get(self, request):
return HttpResponse("ok")
通过源码as_view()方法,那我们看下我们这个方法里做了什么,


我们可以看出~CBV在内部做了一个分发~本质和FBV是一样的~~
以后做接口开发的时候,我们就要用CBV,我们之前学了restful规范,现在就很容易理解我们为什么用CBV了。
面向资源编程,并且用HTTP的请求方式来对资源进行操作,还要遵循这些方法的语义,所以我们选择CBV编写我们接下来的视图函数。