ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

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

2021-06-12 21:04:16  阅读:206  来源: 互联网

标签:ps FBV get self request 视图 CBV post View


 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

 

装饰器?

 

标签:ps,FBV,get,self,request,视图,CBV,post,View
来源: https://www.cnblogs.com/liujinmeng/p/14878966.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有