在 Flask 500 错误中获取 CORS 标头

Posted

技术标签:

【中文标题】在 Flask 500 错误中获取 CORS 标头【英文标题】:Getting CORS headers in a Flask 500 error 【发布时间】:2015-07-01 17:51:46 【问题描述】:

我有一个像这样设置的 Flask 应用程序

from flask import Flask
from flask.ext.cors import CORS

app = Flask( . . . )
app.debug = True

CORS(app, allow_headers='Content-Type')

CORS 对正确完成的路由正常工作。但是,如果引发异常,则会生成不带 CORS 标头的调试输出。这意味着我看不到 chrome 中的调试输出。我可以解决这个问题吗?

【问题讨论】:

【参考方案1】:

问题与设置调试模式有关。您可以在 GitHub issue 中看到有关此的讨论。

有两种方法可以解决这个问题。最简单的方法是将PROPAGATE_EXCEPTIONS 配置参数设置为False,但这会剥夺您的调试模式堆栈跟踪页面:

app.config['PROPAGATE_EXCEPTIONS'] = False

第二种方法是编写您自己的异常处理程序。我自己没有尝试过,但flask source 可以为您提供指导。

【讨论】:

以上是关于在 Flask 500 错误中获取 CORS 标头的主要内容,如果未能解决你的问题,请参考以下文章