[解決済み] このFlaskのコードにあるgオブジェクトは何ですか?
2022-02-17 14:15:28
質問内容
各レスポンスをタイムアウトさせる次のようなコードを見つけたのですが、場所がよくわかりません。
g
は、どこから来ることになっているのでしょうか? とは何ですか?
g
?
@app.before_request
def before_request():
g.start = time.time()
@app.teardown_request
def teardown_request(exception=None):
diff = time.time() - g.start
print diff
解決方法は?
g
はFlaskが提供するオブジェクトです。これは、1つのアプリコンテキスト中に必要なデータを保持するためのグローバルな名前空間です。たとえば
before_request
ハンドラは
g.user
であり、ルートや他の関数からアクセスできるようになります。
from flask import g
@app.before_request
def load_user():
user = User.query.get(request.session.get("user_id"))
g.user = user
@app.route("/admin")
def admin():
if g.user is None or not g.user.is_admin:
return redirect(url_for("index"))
アプリコンテキストは、1つのリクエスト/レスポンスサイクルの間持続する。
g
は、リクエストにまたがるデータの保存には適していません。
データの永続化には、データベース、redis、セッション、またはその他の外部データソースを使用します。
開発サーバーやあらゆるウェブサーバーは、すでにログにタイミング情報を出力していることに注意してください。 もし本当にあなたのコードをプロファイリングしたいのであれば、次のようにします。 Werkzeug アプリケーションプロファイラ .
関連
-
Pythonの非常に便利な2つのデコレーターを解説
-
opencvとpillowを用いた顔認証システム(デモあり)
-
[解決済み] PandasでDataFrameの行を反復処理する方法
-
[解決済み] バイトを文字列に変換する
-
[解決済み] Pythonのリストメソッドであるappendとextendの違いは何ですか?
-
[解決済み] インスタンスのクラス名を取得する?
-
[解決済み] 最近のPythonでカスタム例外を宣言する適切な方法?
-
[解決済み] 自分」という言葉は何のためにあるのか?
-
[解決済み】if __name__ == "__main__": は何をするのでしょうか?
-
[解決済み】__str__と__repr__の違いは何ですか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
opencvとpillowを用いた顔認証システム(デモあり)
-
Python Decorator 練習問題
-
Python機械学習Githubが8.9Kstarsに達したモデルインタープリタLIME
-
Python 可視化 big_screen ライブラリ サンプル 詳細
-
Python LeNetネットワークの説明とpytorchでの実装
-
[解決済み】TypeErrorの修正方法。Unicodeオブジェクトは、ハッシュ化する前にエンコードする必要がある?
-
[解決済み】socket.error: [Errno 48] アドレスはすでに使用中です。
-
[解決済み】TypeError: re.findall()でバイトのようなオブジェクトに文字列パターンを使用することはできません。)
-
[解決済み】 AttributeError: モジュール 'matplotlib' には属性 'plot' がない。
-
[解決済み】ImportError: bs4という名前のモジュールがない(BeautifulSoup)