如何阻止Flask在调试模式下进行两次初始化?
在Python中构建Flask服务并将调试模式设置为打开时,Flask服务将初始化两次。当初始化加载缓存等时,这可能需要一段时间。在开发(调试)模式下,必须执行两次此操作很烦人。当调试关闭时,Flask服务仅初始化一次。
如何阻止Flask在调试模式下进行两次初始化?
回答:
在这里要做的最简单的事情就是将use_reloader=False
你的呼叫添加到app.run
-即:app.run(debug=True, use_reloader=False)
或者,你可以检查WERKZEUG_RUN_MAIN
环境中的值:
if os.environ.get("WERKZEUG_RUN_MAIN") == "true": # The reloader has already run - do what you want to do here
但是,当你希望行为在加载过程中以外的任何时间发生时,情况会更加复杂:
if not app.debug or os.environ.get("WERKZEUG_RUN_MAIN") == "true": # The app is not in debug mode or we are in the reloaded process
以上是 如何阻止Flask在调试模式下进行两次初始化? 的全部内容, 来源链接: utcz.com/qa/424565.html