English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
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'に設定すると、サーバーが外部から利用可能になります |
2 | port | リスニングポート番号、デフォルトは:5000 |
3 | debug | デフォルトはfalseです。 trueに設定すると、デバッグ情報を提供します |
4 | options | 下層の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)