• Skip to main content
  • Skip to secondary menu
  • Skip to primary sidebar

Tech Life

エンジニアの生き方を考えるメディア

  • プログラミング
    • Python入門
    • Flask入門
    • Django入門
  • 利用規約
  • プロフィール
You are here: Home / IT・プログラミング / Python / フレームワーク / Flask / Flaskでデバッグをしてエラー解析する方法(debugパラメータ設定、VScodeでのデバッグ等)

Flaskでデバッグをしてエラー解析する方法(debugパラメータ設定、VScodeでのデバッグ等)

2020年12月11日 by 9nmatsumoto

Flaskで開発をする場合にデバッグをして、エラーを発見することは非常に重要である。

デバッグの設定を入れるには、複数の方法があるが、ここでは、いくつか紹介した。

Contents
  1. debug=Trueで実行する
  2. app作成時にdebugの設定を書き込む
  3. 設定ファイルからDEBUGの設定を読み込む
  4. 実行時にFLASK_DEBUG=1を環境変数に入れて実行する
  5. VSCodeでデバッグ実行し、コードを実行途中で止める

debug=Trueで実行する

Flaskのアプリケーションを立ち上げるさい(app.run())、オプションとして、debug=Trueとするとデバッグをすることができる。
実際に見ていこう

Example

  • デバッグモードでのアプリケーションを実行
from flask import Flask, render_template

app = Flask(__name__)

@app.route('/index')
def index():
    return render_template('index.html')

if __name__ == '__main__':
    app.run(debug=True) # debug=Trueとするとデバッグモードで立ち上がる

 
これを実行するとターミナルには、PINが表示される。

  • ターミナルの表示内容


 

エラー時の解析には、このPINを利用する。

  • エラー画面

以下に、エラー画面を表示した。
このとき、エラー画面最下部に見えるエラーメッセージの右端のターミナルのようなものをクリックする。

 
すると、PINの入力が求められるので、ターミナルに表示されていたPINを入力する。

  • PINを入力する


 

すると、コンソールが表示されて、様々な値を入力して何が正しいのか確かめる。

  • コンソールが表示される

app作成時にdebugの設定を書き込む

FlaskはデフォルトでDEBUGがFalseとなって実行されるが、これを直接いじるとDEBUG=Trueとして実行されて、デバッグが可能になる。

Example

  • DEBUGにして実行する
app = Flask(__name__)# アプリケーションの作成
app.config['DEBUG'] = True# デバッグモードをTrueにする

デバッグの手順の続きは、上記(debug=Trueで実行する)と同様なので省略する。

設定ファイルからDEBUGの設定を読み込む

Flaskの設定を別に記述して、それを設定として読み込むことでDEBUGすることもできる。
これは、本番環境と、開発環境でDEBUGの設定を分けたい場合などに便利なやり方である。

 

Example

  • 設定を記述する
class DevelopmentConfig:
    DEBUG = True # debugの設定

 
次に、これをapp.pyから読み込む

  • app.pyの記述
from flask import Flask, render_template

app = Flask(__name__)
app.config.from_object('config.DevelopmentConfig') # configファイルからFLaskの設定を読み込む

@app.route('/index')
def index():
    return render_template('index.html')

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

 
他にも設定の読込み方法は、色々あるが、詳細は公式サイトを参考にされるとよい。
(公式サイト)

デバッグの手順の続きは、上記(debug=Trueで実行する)と同様なので省略する。

実行時にFLASK_DEBUG=1を環境変数に入れて実行する

環境変数にFLASK_DEBUG=1を入れてアプリケーションを実行するとデバッグモードで実行される。

export FLASK_APP="mainfilename.py"
export FLASK_DEBUG=1 (windowsのコマンドプロンプトの場合set)
python -m flask run --host=0.0.0.0

デバッグの手順の続きは、上記(debug=Trueで実行する)と同様なので省略する。

VSCodeでデバッグ実行し、コードを実行途中で止める

VSCodeでデバッグするには、画面左の虫のボタンを押して、デバッグ画面に遷移し、デバッグで実行すればよい。
1つ1つ手順を見ていく。

Example

  • 1. コードを止めたい場所に印をつける

コードの左側をクリックすると赤い丸がつく、コードを途中で止めて、実行状態を確認したい場所に赤い丸をつける。


 

  • 2. デバッグ実行する

デバッグマークを選択して、実効とデバッグでflaskを選択する。

 

  • 3. 1で印をつけた場所が実行されるように画面遷移する

アプリケーションが立ち上がったら、画面遷移を行い、1で印をつけた部分を実行させると。VSCodeが印をつけた部分で処理を止め、処理の状態を確認できる。
このとき、コードを追いながら変数の中身を確認できるようになる。

以上、Flaskでのデバッグの様々なやり方について紹介した。


« Previous

テンプレートを利用する方法

Next »

テンプレートのfor, if, コメント文


Flask入門記事一覧はこちら

Filed Under: Flask, IT・プログラミング, Python Tagged With: debug, flask, python

Primary Sidebar

注目記事

プロのエンジニアが選ぶPython入門者、初心者向けの書籍10選
元SEが語る、システムエンジニア(SE)ってどんな仕事?きつくてつらいのか?
元SEが語る、システムエンジニアの良いところ

スポンサーリンク