You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

添加@app.after_request后Flask-CORS触发AttributeError错误求助

Flask after_request导致Flask-CORS AttributeError的原因与修复

错误根源

这个问题其实是个典型的Flask钩子函数使用误区:@app.after_request装饰的函数必须返回一个HTTP响应对象,但你的代码最后返回了True,把原本的响应对象替换成了布尔值。

Flask的请求处理流程中,after_request钩子会在视图返回响应后被调用,目的是让你可以修改响应内容或添加额外处理,之后需要把响应传递给后续的中间件(比如Flask-CORS的跨域处理逻辑)。当你返回True时,后续中间件拿到的是布尔值,而非合法的响应对象,Flask-CORS尝试访问它的headers属性自然就会触发AttributeError。

修复方案

只需要修改audit_trail函数的返回值,确保始终返回传入的response参数:

@app.after_request
def audit_trail(response):
    if request.method != 'OPTIONS':
        # 保留你原本的审计逻辑
        print('Bye')
    # 关键:返回响应对象,而非布尔值
    return response

修改后,Flask-CORS就能正常拿到响应对象并处理跨域header,错误就会消失了。

内容的提问来源于stack exchange,提问作者Alexis.Rolland

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.28 09:47:18