flask装饰器如何传递参数

因为@before_request在request之前,所以我取不到request中的args,remote_addr等参数。

但是我想通过装饰器在对请求做一些处理

def other_handle():
    //如何得到request参数

@app.route('/login', method=['POST','GET'])
@other_hangdle
def login():
    ……

装饰器函数要怎么写才能获取到request等参数?

阅读 10.2k
2 个回答

使用 flaskrequest对象

from functools import wraps
from flask import Flask, request

app = Flask(__name__)


def other_handle(f):
    @wraps(f)
    def wrapper(*args, **kwargs):
        print request.args            # 获取请求参数
        return f(*args, **kwargs)
    return wrapper


@app.route('/login', methods=['POST','GET'])
@other_handle
def login():
    return 'login'

if '__name__' == '__main__'
    app.run(debug=True)

交换一下顺序不行吗?

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
宣传栏