gpt4 book ai didi

python - 无法在 Flask 的生产服务器中启用 Debug模式

转载 作者:行者123 更新时间:2023-12-01 08:59:05 25 4
gpt4 key购买 nike

我尝试在浏览器中启用 Debug模式,如下所示:

from werkzeug.debug import DebuggedApplication  

application = Flask(__name__)
app = application
application = DebuggedApplication(app, True)

但它没有在我的生产服务器 Apache mod_wsgi 下启用 Debug模式.

我是不是搞错了什么?还有export方法也不起作用。

最佳答案

DebuggedApplication() 中间件仅在未捕获的异常到达时才起作用。Flask 在生产模式下捕获所有异常,因此这些异常永远不会到达中间件。

您需要明确告诉 Flask 不要捕获所有异常:

PROPAGATE_EXCEPTIONS = True

在您的配置中。来自 relevant documenation :

PROPAGATE_EXCEPTIONS

Exceptions are re-raised rather than being handled by the app’s error handlers. If not set, this is implicitly true if TESTING or DEBUG is enabled.

您可以在将其包装到 DebuggedApplication 中间件之前在 app 对象上设置它:

app = Flask(__name__)
app.config['PROPAGATE_EXCEPTIONS'] = True
app.wsgi_app = DebuggedApplication(app.wsgi_app, True)

请注意,这告诉 Flask 不再捕获所有异常。您可能还想设置其他配置选项,例如 PRESERVE_CONTEXT_ON_EXCEPTION ,或者您可以使用 app.debug = True 启用 Debug模式。

关于python - 无法在 Flask 的生产服务器中启用 Debug模式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52611305/

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