我在settingpy中定义了一个abc = abc然后在apppy中 from setting import abc这个时候如何在flask请求中修改这个abc的值为xyz使得以后的请求访问abc变量时值都是xyz。改变这个值得函数定义在setting中
在 Flask 中,可以使用 Flask 的 g 对象来保存应用程序级别的全局变量。具体步骤如下:
- 在 setting.py 中定义一个函数
set_abc(value)来修改 abc 的值:
abc = 'abc'
def set_abc(value):
global abc
abc = value
- 在 Flask 中,在请求处理函数中调用
set_abc('xyz')来修改 abc 的值:
from flask import Flask, g
from setting import abc, set_abc
app = Flask(__name__)
@app.before_request
def before_request():
g.abc = abc
@app.route('/')
def index():
g.abc = 'xyz'
set_abc(g.abc)
return 'abc is {}'.format(g.abc)
if __name__ == '__main__':
app.run()
在 before_request 函数中,将 abc 的值保存到 g 对象中。在请求处理函数中,先将 g.abc 的值修改为 'xyz',然后调用 set_abc 函数来修改 abc 的值。以后的请求访问 abc 变量时,值都是 'xyz'
原文地址: http://www.cveoy.top/t/topic/hrlI 著作权归作者所有。请勿转载和采集!