CBV与FBV是django视图中处理请求的两种方式
FBV也就是function base views,字面意思函数基础视图,使用函数的方式处理请求 url分发中添加的参数为视图处理函数名,
path('login/',views.login )
视图中以此函数名建立处理函数
def login(req):
if req.method=='POST':
pass
if req.method=='GET':
pass
CBV也就是class base views,使用类的方式在视图中处理请求 url分发添加如下
path('login/',views.login.as_view())
这里的login为视图中建立的类,as_view()为这个类的classonlymethod,这个方法会在内部调用dispatch函数,这个函数会根据请求方式的不同,来调用不同的处理函数如post(),get()等,所以我们要在视图中重写这些处理函数
class login(views.View):
def get(self,req,*args,**kwargs):
pass
def post(self,req,*args,**kwargs):
pass
这里定义类时要继承views.View类 对于类的属性,可以在类的定义中定义,也可以在as_view()中添加,如as_view(name=’sfencs’)
扫码关注腾讯云开发者
领取腾讯云代金券
Copyright © 2013 - 2025 Tencent Cloud. All Rights Reserved. 腾讯云 版权所有
深圳市腾讯计算机系统有限公司 ICP备案/许可证号:粤B2-20090059 深公网安备号 44030502008569
腾讯云计算(北京)有限责任公司 京ICP证150476号 | 京ICP备11018762号 | 京公网安备号11010802020287
Copyright © 2013 - 2025 Tencent Cloud.
All Rights Reserved. 腾讯云 版权所有