HOWTO · Flask

フラスコ g オブジェクト

このガイドでは、Flask の g について学習します。

このページの内容

このガイドでは、Flask の g について学習します。 g オブジェクトとは?

このオブジェクトは何に使用され、g オブジェクトはいつ使用されますか? だから、遅滞なく、学びましょう。

g オブジェクトの Flask

Flask は g という名前のオブジェクトを提供します。 このオブジェクトは、クライアントまたは CLI (コマンド ライン インターフェイス) コマンドからの要求時にアプリケーションを実行している間、共通データを格納します。

g の意味は global であり、グローバルに使用される単純な名前空間です。つまり、その有効期間は、使用されているアプリケーションと同じです。

オブジェクト g は、アプリケーションのコンテキスト内で呼び出されるたびに使用できるデータを保持するために使用されます。これは、全体を通して一定であるためです。

通常、このオブジェクトのインポートには flask.global が使用されますが、flask モジュールを使用するだけで、オブジェクト g もショートカットとしてインポートできます。

以下は、索引ページと最初のページで呼び出される g オブジェクトの例です。

# import
from flask import Flask, g

# initialize app
app = Flask(__name__)


@app.before_request
def gobal_message():
    g.message = "Hello I am g"


@app.route("/")
def index():
    return f"{g.message} from index"


@app.route("/first")
def first():
    return f"{g.message} from first"


if __name__ == "__main__":
    app.run(debug=True)

インデックス "/" ページの出力:

Hello I am g from index

最初の "/first" ページに出力:

Hello I am g from first

上記の例に見られるように、g.message は 1 回だけ初期化され、アプリケーションの範囲内で何度でも使用できます。