视图函数:CBV与FBV (ps:补充装饰器)

 CBV 基于类的视图  FBV 基于函数的视图  

CBV:

视图函数:CBV与FBV    (ps:补充装饰器)
 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

 

装饰器?

 

上一篇:DjangoCBV&FBV&模板层


下一篇:dango框架学习:四十.CBV 和FBV 模式