Django之FBV和CBV模式
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方法中定制自己想要的功能。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 从HTTP原因短语缺失研究HTTP/2和HTTP/3的设计差异
· 三行代码完成国际化适配,妙~啊~