针对特定请求集的Python Flask after_request和before_request

时间:2016-10-24 20:26:46

标签: python flask python-requests

使用标签“after_request(f)”和“before_request(f)”定义的函数在“每个”请求之前和之后运行。是否可以定义仅针对特定请求集运行的函数?

例如,我希望只有在访问静态目录中的资源的请求时才执行函数。或者,也许我想区分不同类型的请求。有没有办法实现这个目标?

1 个答案:

答案 0 :(得分:-1)

执行此操作的最佳方法是使用包装器。

def wrapper_name(func):
    def wrapper(*args, **kwargs):
        # Execute before function
        rv = func(*args, **kwargs)
        # Execute after function
        return rv
    wrapper.__name__ = func.__name__
    return wrapper

@app.route('/foo')
@wrapper_name
def foo():
    return "This gets passed to rv"