FBV就是 url路由>>>业务处理函数的方式,CBV就是url路由>>>类 的处理业务方式。
最常用的就是FBV模式,就不用过多赘述,直接上CBV的实用代码。
1、CBV的url路由该怎么写?
1 from django.contrib import admin 2 from django.urls import path 3 from django.conf.urls import url 4 from app01 import views 5 6 urlpatterns = [ 7 path('admin/', admin.site.urls), 8 url(r"cbv",views.cbv.as_view()), 9 url(r"fbv",views.fbv), 10 ]
2、CBV的view视图中的业务处理类该怎么写?
1 from django.shortcuts import render,redirect,HttpResponse 2 from django.views import View 3 # Create your views here. 4 def fbv(request): 5 if request.method=="POST": 6 return HttpResponse("fbv.post") 7 return render(request, "FBV.html") 8 9 10 class cbv(View): 11 def dispatch(self, request, *args, **kwargs): 12 if request.method=="GET": 13 print("get方式经过dispatch...") 14 else: 15 print("post方式经过dispatch...") 16 result=super(cbv, self).dispatch(request, *args, **kwargs) 17 return result 18 19 def get(self,request): 20 return render(request, "CBV.html") 21 22 def post(self,request): 23 return HttpResponse("cbv.post")
具体格式参考上述代码,在CBV的view视图类中,每次执行GET或者POST函数时都先经过dispatch方法,因此可以在dispatch方法中定制一些GET和POST方法执行前公共的业务逻辑代码,从而简化代码。也可以在dispatch方法中定制自己想要的功能。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/187777.html