flask 的CBV和FBV ---- 视图函数

1. flask中的类视图如何使用

from flask import Flask, views, url_for
app = Flask(__name__)

def auth(func):
    def inner(*args, **kwargs):
        result = func(*args, **kwargs)
        return result
    return inner

class IndexView(views.MethodView):
    # methods = ['POST']  #只允许POST请求访问  --->(设置允许访问的方法)
    decorators = [auth,]  # 如果想给所有的get,post请求加装饰器,就可以这样来写,也可以单个指定

    def get(self):   #如果是get请求需要执行的代码
        v = url_for('index')
        print(v)
        return "返回一个get方法"

    def post(self):  #如果是post请求执行的代码
        return "POST"

app.add_url_rule('/index', view_func=IndexView.as_view(name='index'))  #name即FBV中的endpoint,指别名

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

2. 方法视图及其使用

@app.route('/test/', methods=['GET', 'POST'])
def test():
    if request.method == 'GET':
        # 做GET的事情
        pass
    elif request.method == 'POST':
        # 做POST的事情
        pass
    return '测试'

 

上一篇:第8组 Beta冲刺 (5/6) (蹇浩航)


下一篇:Flask 上传图片并灰度显示