首页 > 解决方案 > 使用烧瓶重置全局变量的值

问题描述

我注意到我的烧瓶应用程序没有反映全局变量的变化。例如,这里有一个最小的应用程序:

import flask

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

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

app.run()

message = 'Hello New World'

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

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

THX 拉尔斯

标签: pythonflask

解决方案


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

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()

推荐阅读