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()