4. Flask中FBV与CBV

一、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)

参考:https://www.cnblogs.com/zhuchunyu/p/10466512.html

posted @ 2020-04-05 16:05  qi.hu  阅读(369)  评论(0编辑  收藏  举报