詳解Django中的FBV和CBV對比分析

2022-09-28 21:00:25 字數 977 閱讀 6565

在學習django過程中在views.py進行邏輯處理時接觸到了兩種檢視的書寫風格,fbv和cbv

fbv 指 function based views,即基於函式的檢視

cbv 指 class based views,即基於類的檢視

基於類的檢視相較於基於函式的檢視可以更加便利的實現類的繼承封裝等。在日常使用的時候,二者的區別主要在於對於request的請求方法的處理方式

我們通過函式傳入的request的method來判斷客戶端發起的是什麼請求,並進行相應的操作,返回相應的資料。

在urls.py中,我們使用下面的格式來書寫路徑

'test/', views.fbv),

我們在類中定義相應請求的方法,並在方法中實現相應的邏輯處理並返回相應的資料,這種基於類的檢視很適用於restful風格的書寫。

return heqpbgbrttprespons程式設計客棧e("post")

@csrf_exempt程式設計客棧

在urls.py中,我們使用下面的格式來書寫路徑

path('test/', views.cbv.as_view()),

Django中的FBV和CBV區別

fbv就是在url中乙個路徑對應乙個函式 urlpatterns url r admin admin.site.urls url r index views.index 在檢視函式中 def index request return render request,index.html cbv就是在u...

Django中的FBV和CBV對比分析

在學習django過程中在views.py進行邏輯處理時接觸到了兩種檢視的書寫風格,fbv和cbv fbv 指 function based views,即基於函式的檢視 cbv 指 class based views,即基於類的檢視 基於類的檢視相較於基於函式的檢視可以更加便利的實現類的繼承封裝等...

Django高階之FBV和CBV

django的請求生命週期是指當使用者在瀏覽器上輸入url到使用者看到網頁的這個時間段內,django後台所發生的事情。當使用者在瀏覽器中輸入url時,瀏覽器會生成請求頭和請求體發給服務端。url經過django中的wsgi,再經過django的中介軟體,最後到達路由對映表,在路由中一條一條進行匹配...