学DRF以前

FBV和CBV

Django中~咱们知道有CBV以及FBV编程

什么是FBV和CBV呢~~restful

  FBV 基于函数的视图函数

  CBV 基于类的视图post

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

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()方法,那咱们看下咱们这个方法里作了什么~spa

 

咱们能够看出~CBV在内部作了一个分发~本质和FBV是同样的~~rest

之后作接口开发的时候,咱们就要用CBV,咱们以前学了restful规范,如今就很容易理解咱们为何用CBV了。code

面向资源编程,而且用HTTP的请求方式来对资源进行操做,还要遵循这些方法的语义,因此咱们选择CBV编写咱们接下来的视图函数。blog

相关文章
相关标签/搜索