English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Flask アプリケーション

Flaskのインストールが成功したかをテストするには、エディタに以下のコードを入力し、ファイル「Hello.py」に保存してください。

# ファイル名 : example.py
# 著作権 : 2020 By w3codebox
# 著者 by : ja.oldtoolbag.com
# 日付 : 2020-08-08
from flask import Flask
 app = Flask(__name__)
 @app.route('/')
 def hello_world():
     return 'Hello World'
 if __name__ == '__main__':
     app.run()

プロジェクトにFlaskモジュールをインポートすることは強制されています。FlaskクラスのオブジェクトはWSGIアプリケーションです。

Flaskコンストラクタは現在のモジュールの名前(__name__)をパラメータとして受け取ります。

Flaskクラスのroute()関数はデコレータであり、アプリケーションにどのURLが関連する関数を呼び出すべきかを指示します。

# ファイル名 : example.py
# 著作権 : 2020 By w3codebox
# 著者 by : ja.oldtoolbag.com
# 日付 : 2020-08-08
app.route(rule, options)

rule は、この関数にバインドされたURLを示します。 options は、下層のRuleオブジェクトに転送されるパラメータリストです。

上記の例では、'/URLはhello_world()メソッドにバインドされています。したがって、ブラウザでWebサーバーのホームページを開いたときに、この関数の出力が表示されます。

最後に、Flaskクラスのrun()メソッドはローカル開発サーバー上でアプリケーションを実行します。

# ファイル名 : example.py
# 著作権 : 2020 By w3codebox
# 著者 by : ja.oldtoolbag.com
# 日付 : 2020-08-08
app.run(host, port, debug, options)

上記のメソッドのすべてのパラメータはオプションです。その説明は以下の表に示されています -

番号パラメータ説明
1ホストリスニングホストの名前。デフォルトでは127.0.0.1(localhost)。 '0.0.0.0'に設定すると、サーバーが外部から利用可能になります
2portリスニングポート番号、デフォルトは:5000
3debugデフォルトはfalseです。 trueに設定すると、デバッグ情報を提供します
4options下層のWerkzeugサーバーに転送されます。

上記の hello.pyスクリプトをDドライブに保存します(パスは: D:\hello.py) からPythonシェルで実行できます。以下のコマンドを使用して -

# ファイル名 : example.py
# 著作権 : 2020 By w3codebox
# 著者 by : ja.oldtoolbag.com
# 日付 : 2020-08-08
$ python hello.py

Pythonシェルの出力メッセージは以下のようになります -

上記のURL(localhost:)をブラウザで開きます。5000)。ブラウザに‘Hello World’メッセージが表示されます。

デバッグモード

Flaskアプリケーションはrun()メソッドを呼び出して起動します。 ただし、アプリケーションが開発中である場合、コードの各変更に対して手動で再起動する必要があります。 この不便を避けるために、デバッグサポートを有効にすることができます。 コードが変更された場合、サーバーは自動的にリロードされます。 また、エラー(あれば)を追跡するための便利なデバッグツールも提供されます。

アプリケーションオブジェクトのデバッグ属性をTrueに設定して、デバッグモードを有効にする前に、アプリケーションを起動する前にまたはデバッグパラメータをrun()メソッドに渡す前に実行します。

# ファイル名 : example.py
# 著作権 : 2020 By w3codebox
# 著者 by : ja.oldtoolbag.com
# 日付 : 2020-08-08
app.debug=True
 app.run()
 app.run(debug=True)