Flask的CBV用法

FBV写法

from flask import Flask, jsonify
app = Flask(__name__)
app.debug = True
@app.route('/')
def index():
return 'hello'

CBV写法

# 导入模块
from flask.views import MethodView
# 固定写法
from flask import Flask
app = Flask(__name__)
app.debug = True
# 书写类方法
class UserView(MethodView):
def get(self):
return '我是get'
def post(self):
return '我是post'
# 注册路由(as_view传的就是路径名)
app.add_url_rule('/user', 'user', UserView.as_view('user'))
# 运行
if __name__ == '__main__':
app.run()

CBV加装饰器

使用步骤:在类中加入类属性:
class ItemAPI(MethodView):
decorators = [装饰器1,装饰器2] # 先写的装饰器放在最内部---》最后执行
def get(self):
return 'get'

注意事项

# as_view必须加一个字符串---》是路由的别名
# endpoint 和 as_view(name= 路由别名),以谁为准?
# 读源码后,知道了,以 endpoint 为准
# 如果endpoint 没传--》endpoint是 view_func.__name__ 视图函数的名字 ,别名就是函数名
# 如果endpoint 没传,as_view(name= 路由别名)也没传---》去视图函数名字-->视图函数都是:view
# as_view(name= 路由别名) 有什么用? 把view的名字改为了,你传入的字符串名
posted @   wellplayed  阅读(7)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 单元测试从入门到精通
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律
点击右上角即可分享
微信分享提示