開発サーバー—Flaskドキュメント

提供:Dev Guides
< FlaskFlask/docs/1.0.x/server
移動先:案内検索

開発サーバー

Flask 0.11以降、開発サーバーを実行するための複数の組み込み方法があります。 最適なのは flask コマンドラインユーティリティですが、Flask.run()メソッドを引き続き使用することもできます。

コマンドライン

flask コマンドラインスクリプト(コマンドラインインターフェイス)は、アプリケーションの読み込み方法によって優れたリロードエクスペリエンスを提供するため、開発に強くお勧めします。 基本的な使用法は次のとおりです。

$ export FLASK_APP=my_application
$ export FLASK_ENV=development
$ flask run

これにより、対話型デバッガーとリローダーを含む開発環境が有効になり、 http:// localhost:5000 / でサーバーが起動します。

サーバーの個々の機能は、runオプションにさらに引数を渡すことで制御できます。 たとえば、リローダーを無効にすることができます。

$ flask run --no-reload

ノート

Flask 1.0より前は、 FLASK_ENV環境変数はサポートされていなかったため、FLASK_DEBUG=1をエクスポートしてデバッグモードを有効にする必要がありました。 これは引き続きデバッグモードの制御に使用できますが、上記のように開発環境を設定することをお勧めします。


コード内

アプリケーションを起動する別の方法は、Flask.run()メソッドを使用することです。 これにより、 flask スクリプトとまったく同じ方法でローカルサーバーがすぐに起動します。

例:

if __name__ == '__main__':
    app.run()

これは一般的なケースではうまく機能しますが、開発ではうまく機能しません。そのため、Flask0.11以降では flask メソッドが推奨されます。 これは、リロードメカニズムの動作により、奇妙な副作用が発生するためです(特定のコードを2回実行したり、メッセージなしでクラッシュしたり、構文エラーやインポートエラーが発生したときに停止したりすることがあります)。

ただし、これは、自動リロード以外のアプリケーションを呼び出すための完全に有効な方法です。