Django之FBV和CBV模式

不管现实多么惨不忍睹,都要持之以恒地相信,这只是黎明前短暂的黑暗而已。不要惶恐眼前的难关迈不过去,不要担心此刻的付出没有回报,别再花时间等待天降好运。真诚做人,努力做事!你想要的,岁月都会给你。Django之FBV和CBV模式,希望对大家有帮助,欢迎收藏,转发!站点地址:www.bmabk.com,来源:原文

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

(0)
小半的头像小半

相关推荐

极客之音——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!