视图函数:CBV与FBV (ps:补充装饰器)
Posted 磕伴
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了视图函数: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\')
FBV:
刚开始学的就是FBV
装饰器?
以上是关于视图函数:CBV与FBV (ps:补充装饰器)的主要内容,如果未能解决你的问题,请参考以下文章