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

Flask中的CBV

作者头像
py3study
发布2020-01-16 12:22:14
5430
发布2020-01-16 12:22:14
举报
文章被收录于专栏:python3

Flask中的CBV

第一种

代码语言:javascript
复制
class Index(views.MethodView):
    methods = ['GET', 'POST']   
    decorators = []

    def get(self):
        return 'GET'

    def post(self):
        return 'POST'

app.add_url_rule('/index', view_func=Index.as_view(name='index'))  # name='index'相当于设置endpoint

Index.as_view内部也会根据请求方式进行反射执行对应函数即执行dispatch_request

app.add_url_rule是进行装饰器路由映射内部执行的函数,本质上也是由add_url_rule添加的映射关系,decorators是添加的装饰器列表

第二种

代码语言:javascript
复制
class Index(views.View):
        methods = ['GET', 'POST']
        decorators = []

        def dispatch_request(self):
            print('dispatch_request')
            return 'Index!'

app.add_url_rule('/index', view_func=Index.as_view(name='index'))

第二种继承的是views.View,这样就需要写dispatch_request函数,但也不必去进行分发请求,那么就会像FBV一样。

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

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

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

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

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