前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Django之FBV&CBV

Django之FBV&CBV

作者头像
py3study
发布2020-01-22 22:22:51
3460
发布2020-01-22 22:22:51
举报
文章被收录于专栏:python3

CBV与FBV是django视图中处理请求的两种方式

FBV

FBV也就是function base views,字面意思函数基础视图,使用函数的方式处理请求 url分发中添加的参数为视图处理函数名,

代码语言:javascript
复制
path('login/',views.login )

视图中以此函数名建立处理函数

代码语言:javascript
复制
def login(req):
  if req.method=='POST':
    pass
  if req.method=='GET':
    pass

CBV

CBV也就是class base views,使用类的方式在视图中处理请求 url分发添加如下

代码语言:javascript
复制
path('login/',views.login.as_view())

这里的login为视图中建立的类,as_view()为这个类的classonlymethod,这个方法会在内部调用dispatch函数,这个函数会根据请求方式的不同,来调用不同的处理函数如post(),get()等,所以我们要在视图中重写这些处理函数

代码语言:javascript
复制
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’)

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2019/04/09 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • FBV
  • CBV
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档