1. 程式人生 > 其它 >檢視函式:CBV與FBV (ps:補充裝飾器)

檢視函式:CBV與FBV (ps:補充裝飾器)

CBV 基於類的檢視 FBV基於函式的檢視

CBV:

 1 專案目錄下:
 2 urlpatterns = [
 3     path('login1/',views.Login.as_view())    #.as_view()固定格式,自
 4 ]
 5  #.as_view()固定格式,自匹配類中的下面的方法(須自定製)
 6  http_method_names = ['get', 'post', 'put', 'patch', 'delete', 'head', 'options', 'trace']
 7 
 8 Ajax提交(方法多)方便分門別類
 9 
10 常用約定俗成:'get
'(查), 'post'(建立), 'put'(更新), 'delete'(刪除), 11 12 #自動執行,內部通過反射來做,先執行View裡面的dispatch,拿到方法然後做反射到get、post、等自動執行 13 14 app01目錄下: 15 from django.views import View 16 class Login(View): 17 18 def dispatch(self, request, *args, **kwargs): 19 print('before') 20 # 類似裝飾器 先執行before 再執行after 中間的就是下面方法執行結果
21 obj=super(Login,self).dispatch(request, *args, **kwargs) 22 print('after') 23 return obj 24 25 def get(self,request): 26 return render(request, 'login1.html') 27 28 def post(self,request): 29 print(request.POST.get('title')) 30 return
HttpResponse('ok')
View Code

FBV:

剛開始學的就是FBV

裝飾器?