ホームページ >バックエンド開発 >Python チュートリアル >Flask 開発サーバーが 2 回起動しているように見えるのはなぜですか?
開発中に Flask 開発サーバーが 2 回実行される理由
Flask 開発サーバーを実行すると、ユーザーは開始印刷行が 2 回表示されることに気づくかもしれません。この動作は、コード変更時の更新を容易にする子プロセスを作成する Werkzeug のリローダーの使用に起因します。
リローダーの開始
Flask アプリは次のコマンドで実行されます。 app.run() メソッド。内部的に Werkzeug の開発サーバーを利用します。 restart_with_reloader() 関数は子プロセスを起動し、subprocess.call() でスクリプトを再実行します。
自動再読み込みを無効にする
二重出力を抑制するには、app.run() で use_reloader を False に設定します。または、--no-reload フラグを指定して flask run コマンドを使用します。
FLASK_DEBUG=1 flask run --no-reload
リロードの検出
アプリがリロード中に実行されているかどうかを確認するには子プロセスでは、werkzeug.serving.is_running_from_reloader を使用します。 function.
モジュール グローバルの代替
モジュール グローバルを設定する必要がある場合は、@app.before_first_request デコレータを使用して 1 回だけ実行される関数を作成します各リロード後、最初のリクエスト時に。ただし、このアプローチでは、複数のプロセスを使用して WSGI サーバーで複数の呼び出しが行われる可能性があることに注意してください。
以上がFlask 開発サーバーが 2 回起動しているように見えるのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。