flask框架(之五)标准类视图

flask框架(之五)标准类视图

一、类视图

  • 之前我们接触的视图都是函数,所以一般简称视图函数。其实视图也可以基于类来实现,类视图的好处是支持继承,但是类视图不能跟函数视图一样,写完类视图还需要通过app.add_url_rule(url_rule,view_func)来进行注册。
    在这里插入图片描述
    在这里插入图片描述

二、标准类视图

  • 标准类视图是继承自flask.views.View,并且在子类中必须实现dispatch_request方法,这个方法类似于视图函数,也要返回一个基于Response或者其子类的对象。
from flask.views import View
class PersonalView(View):
    def dispatch_request(self):
        return "逻辑课堂"
    
# 类视图通过add_url_rule方法和url做映射
app.add_url_rule('/users/',view_func=PersonalView.as_view('personalview'))

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

  • 好处

  • 大大的减少了路由的书写

  • 可以继承父类的许多方法,减少代码冗余

视图函数
 @app.route('/xxx/') 
类视图 
app.add_url_rule('/xxx/', endpoint='取名', view_func=类名.as_view('取名'))
  • 重写dispatch_request这个方法,不重写直接爬出异常(NotImplementedError)
    在这里插入图片描述
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值