1. 程式人生 > >【Django】FBV模式和CBV模式

【Django】FBV模式和CBV模式

FBV(Function Base Views):一個url對應一個檢視函式

CBV(Class Base views):一個url對應一個類


urls:

urlpatterns = [
    url(r'^fbv/',views.fbv),
    url(r'^cbv/',views.CBV.as_view()),
]

views:

from django.views import View

class CBV(View):
    def get(self,request):
        ...

    def post(self,request):
        ...
    
    
def fbv(request):
    ...

在FBV的模式下:url匹配成功之後,會直接執行對應的檢視函式

在CBV模式下:url匹配成功之後,會找到檢視函式中對應的類,然後這個類回到請求頭中找到對應的Request Method

  • 如果是客戶端以POST的方式提交請求,就執行類中的post方法
  • 如果是客戶端以GET的方式提交請求,就執行類中的get方法