9 flask之CBV

1 CBV的写法

# -*- coding: utf-8 -*-
# @Time    : 2021/12/5 17:08
# @Author  : dzg
from flask import Flask, views

app = Flask(__name__)


class IndexView(views.MethodView):
    methods = ['GET', 'POST']

    def get(self):
        return 'Index.GET'

    def post(self):
        return 'Index.POST'


app.add_url_rule('/index', view_func=IndexView.as_view(name='index'))  # name=endpoint

if __name__ == '__main__':
    app.run()


 

 

 

 

2 CBV添加装饰器:decorators

decorators = [装饰器1,装饰器2,。。。]

# -*- coding: utf-8 -*-
# @Time    : 2021/12/5 17:08
# @Author  : dzg
from flask import Flask, views

app = Flask(__name__)


def auth1(func):
    def inner(*args, **kwargs):
        print('before1')
        result = func(*args, **kwargs)
        print('after1')
        return result

    return inner

def auth2(func):
    def inner(*args, **kwargs):
        print('before2')
        result = func(*args, **kwargs)
        print('after2')
        return result

    return inner

class IndexView(views.MethodView):
    methods = ['GET', 'POST']
    # 添加装饰器
    decorators = [auth1,auth2]

    def get(self):
        return 'Index.GET'

    def post(self):
        return 'Index.POST'

app.add_url_rule('/index', view_func=IndexView.as_view(name='index'))  # name=endpoint

if __name__ == '__main__':
    app.run()



 

 

posted @ 2022-03-22 23:15  甜甜de微笑  阅读(79)  评论(0编辑  收藏  举报