高価な関数の結果であるオブジェクトを保存したい。高価な関数は、リクエストの前に1回だけ処理する必要があります。
私はFlaskのドキュメントを確認しg
、結果を保存することを検討しまし@app.before_first_request
た。この割り当てを定義するためのデコレータは1回だけ発生しました。
私のコードは次のようなものです:
@app.before_first_request
def before_first_request():
g.rec = take_long_time_to_do()
@app.route('/test/')
def test():
return render_template('index.html',var_rec=g.rec)
ただし、これらのコードはうまく機能しません。test
リクエストが最初に呼び出されたときにのみ機能します。2回目に「myapplication/test」にアクセスg.rec
すると、が存在しないため、例外がスローされます
アプリケーションを初期化するときにグローバル変数をに割り当てる方法について誰かが考えてg
いますか?