标准类视图
之前我们接触的视图都是函数,所以⼀般简称视图函数。其实视图也可以基于
类来实现,类视图的好处是⽀持继承,但是类视图不能跟函数视图⼀样,写完
类视图还需要通过app.add_url_rule(url_rule,view_func)来进⾏注册。
- 视图函数
@app.route('/profile/')
def profile():
return '个人中心'
- 类视图函数:
app.add_url_rule('/profile/',view_func=profile) view_func = 函数名称
- 他们的效果是一样的,打开网址
- 定义一个类,并且继承view类
from flask import Flask,views
class ListView(views.View): #####大写Viwe
def demo(self):
return '这是测试'
- 进入View查看源码
- 告诉我们必须重新写dispatch_request()方法
- 不然就会报错
- 上面我们没有重写dispatch_request()方法
- 然后我们重新写一个路由
app.add_url_rule('/list/',view_func=ListView.as_view('list')) #list是别名
#as_view()有一个参数,参数是取得别名
- 我们打开网址
- 果然报错了
- 我们重新写一个,并且重写dispatch_request()方法