使用标签“after_request(f)”和“before_request(f)”定义的函数在“每个”请求之前和之后运行。是否可以定义仅针对特定请求集运行的函数?
例如,我希望只有在访问静态目录中的资源的请求时才执行函数。或者,也许我想区分不同类型的请求。有没有办法实现这个目标?
答案 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"