デバッグモードでFlaskが2回初期化されるのを防ぐにはどうすればいいですか? [重複] 質問する

デバッグモードでFlaskが2回初期化されるのを防ぐにはどうすればいいですか? [重複] 質問する

Python で Flask サービスを構築し、デバッグ モードをオンに設定すると、Flask サービスは 2 回初期化されます。初期化でキャッシュなどが読み込まれると、しばらく時間がかかることがあります。開発 (デバッグ) モードでは、これを 2 回実行するのは面倒です。デバッグがオフの場合、Flask サービスは 1 回だけ初期化されます。

デバッグモードで Flask が 2 回初期化されるのを防ぐにはどうすればよいでしょうか?

ベストアンサー1

ここで行う最も簡単なことは、use_reloader=False呼び出しに次のコードを追加することですapp.runapp.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

おすすめ記事