詳解Django中的FBV和CBV對比分析
在學習Django過程中在views.py進行邏輯處理時接觸到了兩種視圖的書寫風格,F(xiàn)BV和CBV
FBV 指 function based views,即基于函數(shù)的視圖
CBV 指 class based views,即基于類的視圖
基于類的視圖相較于基于函數(shù)的視圖可以更加便利的實現(xiàn)類的繼承封裝等。在日常使用的時候,二者的區(qū)別主要在于對于request的請求方法的處理方式
FBV我們通過函數(shù)傳入的request的method來判斷客戶端發(fā)起的是什么請求,并進行相應的操作,返回相應的數(shù)據(jù)。
def fbv(request): if request.method == ’GET’: return HttpResponse('GET') elif request.method == ’POST’: return HttpResponse('POST') else: return HttpResponse('OTHER')
在urls.py中,我們使用下面的格式來書寫路徑
path(’test/’, views.fbv),CBV
我們在類中定義相應請求的方法,并在方法中實現(xiàn)相應的邏輯處理并返回相應的數(shù)據(jù),這種基于類的視圖很適用于restful風格的書寫。
class CBV(View): @csrf_exempt def get(self): return HttpResponse('GET') @csrf_exempt def post(self): return HttpResponse('POST') @csrf_exempt def put(self): return HttpResponse('PUT')
在urls.py中,我們使用下面的格式來書寫路徑
path(’test/’, views.cbv.as_view()),
到此這篇關于 詳解Django中的FBV和CBV對比分析的文章就介紹到這了,更多相關Django FBV和CBV對比 內(nèi)容請搜索好吧啦網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持好吧啦網(wǎng)!
相關文章:
1. ASP 信息提示函數(shù)并作返回或者轉向2. php使用正則驗證密碼字段的復雜強度原理詳細講解 原創(chuàng)3. JSP+Servlet實現(xiàn)文件上傳到服務器功能4. 基于javaweb+jsp實現(xiàn)企業(yè)財務記賬管理系統(tǒng)5. ASP動態(tài)網(wǎng)頁制作技術經(jīng)驗分享6. 淺談由position屬性引申的css進階討論7. asp批量添加修改刪除操作示例代碼8. vue項目登錄成功拿到令牌跳轉失敗401無登錄信息的解決9. CSS可以做的幾個令你嘆為觀止的實例分享10. vue前端RSA加密java后端解密的方法實現(xiàn)

網(wǎng)公網(wǎng)安備