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

it2023-10-01  69

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)