我想保存一个对象,它是昂贵函数的结果。昂贵的功能只应在任何请求之前处理一次。
我检查了 Flask 的文档并考虑g
保存结果和@app.before_first_request
装饰器来定义这个分配只发生一次。
我的代码是这样的:
@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
调用请求时起作用。当我第二次访问“myapplication/test”时,g.rec
不存在,这将引发异常
有没有人知道如何g
在启动应用程序时分配一个全局变量?