FBV和CBV區別


在學習DRF之前~我們要先復習一些知識點~~

FBV和CBV

學習Django的時候~我們已經學習過了CBV以及FBV~~我們來復習一下~~

什么是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編寫我們接下來的視圖函數。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM