2016-08-22 8 views
0

公式Flask documentationflask runまたはpython -m flask runを使用します。両方ともFLASK_APPが必要です。私が見た他のほとんどのチュートリアルでは、単にpython app.pyを使用しています。これは余分なステップを必要とせず、今まで私にとってうまくいきました。Flaskアプリをローカルで実行する正規の方法

flask runの利点は何ですか?私は、その代替案が後で理解できないバグにつながっていないことを確認したい。

+3

ほとんどのチュートリアルは、「フラスコ」エントリーポイントが追加される前に書かれました。これを使うと、あなたのコードに 'app.run'呼び出しを追加する必要がなくなります。 – dirn

+0

最新のバージョンのFlaskを使用している場合は、フラスコのエントリポイントを使用します。 –

+0

@dirnでも、[app as a package](http://flask.pocoo.org/docs/0.11/patterns/packages/)を整理するとどうなりますか?ドキュメントに従って、実行スクリプトに 'app.run()'がまだ必要ないのですか?それは私が持っているもので、私は 'python run.py'でスクリプトを呼び出しています。 – bongbang

答えて

3

あなたがそうしないようにしていない場合は、flask runを使用して開発サーバーを実行します。これは今後の対応です。 docsから言い換え:

フラスコ0.11からflaskコマンドが推奨されます以降。その理由は、devサーバーのリロードメカニズムの仕組みによって、app.runを使用したときに奇妙な副作用があります(特定のコードを2回実行したり、構文エラーやインポートエラーが発生したときにメッセージがなくクラッシュするなど)。

flaskコマンドは、アプリケーションをインポートしてサーバーを実行するコードとアプリケーションを区切ります。 flask.runメソッドは依然として存在します。なぜなら、これらの問題のどれも重大ではなく、紛らわしいからです。将来、完全に廃止される可能性があります。

runコマンドの他に、別の拡張機能やスクリプトの代わりに、アプリコンテキスト内で実行できる他の便利なコマンドを追加する機能もあります。

同じ警告が引き続き適用されます。本番環境で開発サーバーを実行しないでください。

関連する問題