Django 之 CBV與FBV

FBV:基於函數來實現視圖對請求的處理

CBV:基於類來實現視圖對請求的處理

  • 提升了代碼的複用性,可使用面嚮對象的技術,好比Mixin(多繼承)
  • 能夠用不一樣的函數針對不一樣的HTTP方法處理,而不是經過不少if判斷,提升代碼可讀性

實現一個處理GET方法的view,用FBV寫的話是下面這樣

from django.http import HttpResponse
def get_view(request):
    if request.method == 'GET':
       return HttpResponse('這是一個Get請求')

實現一個處理GET方法的view,用CBV寫的話是下面這樣

from django.shortcuts import HttpResponse,render
from django.views import View
class LoginView(View):
    def get(self,request):
       return render(request,'index.html')

    def post(self,request):
        return HttpRespnse('這是一個POST請求')

put請求:更新時使用--更新全局
patch請求:更新時使用--更新局部
delete請求:刪除時使用
head請求:
options請求:
trace請求:html

相關文章
相關標籤/搜索