一、FBV
FBV的定义、路由映射方法、装饰器添加方法,Flask中通常会用FBV;Flask框架中不常用CBV;更多的是用FBV
from flask import Flask,views
app = Flask(__name__)
def wrapper(func):
def inner(*args,**kwargs):
print('beforeFunc')
ret = func(*args,**kwargs)
return ret
return inner
# FBV
@app.route('/index1',methods=['GET','POST'])
@wrapper
def index1():
return "index1"
if __name__ == '__main__':
app.run()
二、CBV
在CBV中,路由信息只能通过add_url_rule()
方法添加
from flask import Flask, views
app = Flask(__name__)
class Login(views.MethodView):
methods = ['POST', 'GET']
# 如果需要在CBV中加装饰器的话,括号里就是装饰器的内存地址,可以传多个
decorators = ()
def get(self):
print('get 请求')
return 'login get'
def post(self):
print('post 请求')
return 'login post'
app.add_url_rule('/login', view_func=Login.as_view(name='login'))
if __name__ == "__main__":
app.run(debug=True)