使用烧瓶重置全局变量的值

时间:2020-05-13 07:29:30

标签: python flask

我注意到我的flask应用程序未反映全局变量的变化。例如。这里是一个最小的应用程序:

import flask

message = 'Hello World'
app = flask.Flask(import_name=__name__)

@app.route('/')
def print_message():
    return message

app.run()

message = 'Hello New World'

即使我最终将变量“ message”设置为“ Hello New World”,也会导致“ Hello World”作为返回值。

是否可以重置应用程序或更优雅,以重置应用程序使用的变量?

THX 拉斯

1 个答案:

答案 0 :(得分:-1)

我不确定这是否是您想要的。我通过遍历全局列表来更改变量。

import flask

global messages
messages = iter(['Hello World', 'Hello World 1', 'Hello World 2'])
app = flask.Flask(import_name=__name__)

@app.route('/')
def print_message():
    try:
        return next(messages)
    except Exception as e:
        return 'End :('


if __name__ == '__main__':
    app.run()