1. 程式人生 > >FBV和CBV

FBV和CBV

執行 style code tle 接下來 bar 分發 self req

什麽是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