Flaskでデバッグモードを有効にしてデバッグツールを出す方法

スポンサーリンク

このモードでは、Flaskのデバッグモードについて学びます。

後ほど、Flask でデバッグを行うためのデバッガツールバーも実装します。

スポンサーリンク

Flask のデバッグモードを有効にする

Flask アプリケーションを Debug Mode = False で考えてみましょう。

コードを更新したとき、その変更を Web ページに反映させるためにサーバを再起動する必要があります。

これは、コードの変更と更新を繰り返すことになるので、非常に面倒です。

そこで、Flask はコーディングを簡単にするために、デバッグモードを提供しています。

したがって、デバッグモードをオンにすると、アプリケーションのコード変更は開発段階ですぐに更新され、サーバーを再起動する必要がなくなります。

Flask のデバッグモードの実装

Flask でデバッグモードを有効にするコードを追加してみましょう。

Flaskでロギングを有効にしたい場合は、こちらのチュートリアルも参考にしてください。

#Method 1
app.debug = True
 
#or
#Method @
app.run('host' = localhost, debug = True)

ほら、簡単でしょう?あとはサーバーをリフレッシュすれば、すべての変更が反映されます。

Note: 実稼働環境では、デバッグモードやその他のビルトインデバッガを決して有効化しないでください。

デバッガは、ブラウザから任意のPythonコードを実行することを可能にします。


これには保護キーが必要ですが、それでも安全ではありません。

Flask アプリケーションに外部デバッガツールバーを追加する

Flask には、Web アプリケーションを大規模にデバッグするためのデバッガツールバーも用意されています。

まあ、すべての開発者は、人生のどこかの時点で、エラーに遭遇します。

それを探し、排除するのは簡単なことではありません。

時には、エラーを指摘するのに多くの時間がかかるかもしれません。

それゆえ、すべての開発者はデバッグの技術を知らなければなりません。

しかし、Flask を使うことで、予想通り、すべてがとてもシンプルになりました。


Flask Debug Toolbar が必要です。

pip install flask-debugtoolbar

さて、ではその構成を見てみましょう。

  • Version: Version: Web ページの実行に使用した Flask Libraries のバージョンを示します。
  • Time: Webページのロード時間を示します。
  • HTTP Headers: HTTP Header: HTTP Headerのキーバリューの組に関する情報を提供します。
  • Request: リクエスト。リクエスト:リクエスト変数に関する情報を提供します。
  • Config: Flaskアプリケーションの様々な設定を伝える
  • Templates: テンプレート。Templates: テンプレートに関する情報を提供
  • SQLAlchemy: Web ページで呼び出された SQLAlchemy クエリに関する情報を提供します。(SQLAlchemyの詳細については、Flask Postgres SQLAlchemyの記事を参照してください)。
  • Logging: ログレコードの情報を提供します。( 詳しくは Flask Logging を参照してください)
  • Route List: Web アプリで利用可能な URL の経路を全て表示します。
  • Profiler: アクティブにすると、使用した Flask Profilers の情報が表示されます。

Flask デバッグツールバーのハンズオン

まず、ツールバーをインストールする必要があります。

コードを実行します。

from flask import Flask
from flask_debugtoolbar import DebugToolbarExtension
 
app = Flask(__name__)
 
app.debug = True
toolbar = DebugToolbarExtension(app)

これでツールバーがインストールされました

1. Flask アプリケーションにツールバーを追加する

ツールバーを追加するための構文は以下の通りです。

from flask import Flask
from flask_debugtoolbar import DebugToolbarExtension
 
app = Flask(__name__)
 
app.debug = True
toolbar = DebugToolbarExtension(app)
 
@app.route('/form')
def form():
    return render_template('form.html')
 
app.run(host='localhost', port=5000)

WebPage が Debug = True モードのときのみ、デバッグツールバーが表示されます。

本番サーバー(Debug = False)では、Web アプリはツールバーを表示しません。

したがって、次のFlaskアプリケーションの例を考えてみましょう。

<html>
   <body>
      <form action="/login" method = "POST">
         <p>name <input type = "text" name = "name" /></p>
         <p>age <input type = "integer" name = "age" /></p>
         <p><input type = "submit" value = "Submit" /></p>
      </form>
   </body>
</html>

そして、form.html です。

Flask ToolBar
Flask ToolBar

Note: ツールバーを動作させるためには、テンプレートに

2. Flaskアプリケーションの実行

では、サーバを起動して確認してみましょう。

Debug Toolbar
Debug Toolbar

完璧です。

ウェブページにツールバーが表示されています。

まとめ

以上、Flask のデバッグモードとツールバーについてでした。

以上、Flask のデバッグモードとツールバーについてでした。

このサイトの他の Flask 記事もチェックしてみてください。

</body

タイトルとURLをコピーしました