Python Flask after_request 和 before_request 用于一组特定的请求

Jen*_*won 7 python flask python-requests

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

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

小智 -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"
Run Code Online (Sandbox Code Playgroud)