在 Flask 500 错误中获取 CORS 标头

Jus*_*ing 8 flask-cors

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

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

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

CORS(app, allow_headers='Content-Type')
Run Code Online (Sandbox Code Playgroud)

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

buc*_*uck 5

这个问题与设置调试模式有关。你可以在这个GitHub issue 中看到关于这个的讨论。

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

app.config['PROPAGATE_EXCEPTIONS'] = False
Run Code Online (Sandbox Code Playgroud)

第二种是编写自己的异常处理程序。这个我自己没试过,但flask源码可以给你指导。