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
装饰器?