FlaskのWebアプリ開発で、ソースコードが変更されたら、アプリを自動リロードする方法です。
開発時はコードを頻繁に編集すると思いますが、Flaskの標準では、コードを変更しても直ぐには認識されず、毎回Webサーバを立ち上げ直す必要があります。
う〜ん…とても面倒です。
そこで、コードを編集したら、Webサーバを自動リロードする方法を調べました。
これで気分良く開発が出来そうです♪
スポンサーリンク
Flaskをデバッグモードで起動する
Flaskをデバッグモードで起動すると、コード変更時に自動リロードしてくれます。
app.run(debug=True)
とするだけで、簡単に設定出来ます。
if __name__ == "__main__":
app.run(debug=True)
起動方法は、デバッグなしの時と同じ。
$ python3 app.py
* Serving Flask app "app" (lazy loading)
* Environment: production
WARNING: Do not use the development server in a production environment.
Use a production WSGI server instead.
* Debug mode: on
* Running on http://127.0.0.1:5000/ (Press CTRL+C to quit)
* Restarting with stat
* Debugger is active!
* Debugger PIN: 243-698-xxx
しかし、この方法には問題が1つあります。
コンパイルエラーがある状態で、ファイルを保存してしまうと、Pythonのプロセス自体が落ちてしまいます。
そうなると、エラーを修正した後に、再度Webアプリ立ち上げ直す手間が発生します。
う〜ん…ちょっと面倒です。
Flaskコマンドラインインターフェースを使う
よくよく調べると、Flask 0.11から追加された、コマンドラインインターフェースを使えば、全てが解決しました。
やり方は単純で、以下のflaskコマンドで、Webアプリを起動するだけです。
起動後にコードを変更した場合、自動リロードが走り、変更が反映されます。
$ flask run --debugger --reload
* Environment: production
WARNING: Do not use the development server in a production environment.
Use a production WSGI server instead.
* Debug mode: off
* Running on http://127.0.0.1:5000/ (Press CTRL+C to quit)
* Restarting with stat
* Debugger is active!
* Debugger PIN: 131-136-572
さらに、エラーがある状態でコードを保存した場合でも、下のようにエラー情報をブラウザに表示してくれます。
修正して保存すれば、自動リロードが走って、そのままデバッグを続ける事が出来ます。
う〜ん…だいぶ楽になりました♪
スポンサーリンク
おわりに
<関連記事>
■ MacにPython3をインストールする! (サクッとインストールしたい人向け)
Mac環境に、Python3を簡単にインストールする方法を紹介しています。
■ Python3入門! 基礎をおさらい (変数/演算子/条件分岐/繰り返し)
1つの記事に、基本文法をまとめて書いているので、時間が空いて忘れてしまった場合でも、一気に復習出来るようになっています。よければ見てください。
■ Flaskで REST API開発する! 直ぐに実行できるサンプルコードで解説 【Python Tips】
Pythonの軽量Webフレームワークである、FlaskでREST APIを作るまでの流れを、紹介します。
■ Flask-RESTful を使って、REST APIを作る【Python Tips】
Flaskと、Flask-RESTfulを使って、REST APIを作ります。
Flask-RESTfulを使うと、オブジェクト思考な感じで、REST APIが作れます。
■ Pythonで小数点の四捨五入/切り捨て/切り上げを行う
Pythonのdecimalモジュール
を使って、小数点の丸めを行う方法です。
0 件のコメント:
コメントを投稿