gpt4 book ai didi

python - 如何将装饰器应用到每个 Flask View

转载 作者:太空狗 更新时间:2023-10-30 00:50:13 27 4
gpt4 key购买 nike

我有一个装饰器(称之为deco),我想将其应用于我的 Flask 应用程序中的每个 View ,以便修改响应 header 以避免 IE 的兼容模式(res .headers.add("X-UA-Compatible", "IE=Edge").我这样用

@app.route('/')
@deco
def index():
return 'Hello world'

我目前使用 Flask 的子类来创建应用程序(修改 jinja 行为)

class CustomFlask(Flask):
jinja_options = ...

app = CustomFlask(__name__, ...)

有没有一种方法可以修改 CustomFlask 以将 deco 装饰器应用于所有响应?

最佳答案

要为每个传出响应添加 header ,请使用 @Flask.after_request hook相反:

@app.after_request
def add_ua_compat(response):
response.headers['X-UA-Compatible'] = 'IE=Edge'
return response

有一个Flask extension确实正是这个;注册 Hook 并添加标题。

关于python - 如何将装饰器应用到每个 Flask View ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23137152/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com