Flask中的全局变量被重置为None

ice

我正在构建一个Flask应用程序,该应用程序需要跨请求访问初始化的类。下面对Flask服务器的POST请求说,尽管全局变量ex在启动时已初始化并重新分配给main中的Engine类,但其类型为None 为什么是这样?

ex = None #Storing the executable so that it can be accessed

flask_app = Flask(__name__)
flask_app.debug = True


@flask_app.route('/reach_engine', methods = ['POST'])
def result():
    global ex
    print(ex.txt) #Prints type error, saying that ex is of type None (this is the problem)

class Engine:
    def __init__(self):
        super(Engine, self).__init__()
        self.txt = 'The real Engine'

def startApp():
    global ex
    ex = Engine()

if __name__ == '__main__':

    #Start a thread that will run the main app
    t = threading.Thread(target=startApp)
    t.daemon = True
    t.start()

    # Start the flask app
    print(rd_info + "Intializing Flask application")
    flask_app.run('0.0.0.0', '1000', debug=True,
        threaded=True, use_reloader=False) 
ice

现在已经解决了。在原始代码中,引擎初始化中存在故意的for循环,从而导致全局变量ex从未完全分配。(其他人请注意)

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

全局变量重置为0

来自分类Dev

全局变量重置为0

来自分类Dev

全局变量重置

来自分类Dev

在C ++中为全局变量赋值

来自分类Dev

为 FirebaseDatabase 中的全局变量赋值

来自分类Dev

如何在python“递归”函数中重置全局变量?

来自分类Dev

如何避免在js文件中重置全局变量

来自分类Dev

如何在python“递归”函数中重置全局变量?

来自分类Dev

在 timeit.repeat 中重置全局变量

来自分类Dev

全局变量为空,即使已在sub vba中设置了全局变量

来自分类Dev

python-如何在Flask中设置全局变量?

来自分类Dev

python flask Web应用程序中的全局变量

来自分类Dev

Flask 应用程序中的全局变量/函数

来自分类Dev

全局变量为空

来自分类Dev

Javascript全局变量正在重置

来自分类Dev

如何重置全局变量prev?

来自分类Dev

在Jasmine中为angularjs设置全局变量

来自分类Dev

Python全局变量在函数中为空

来自分类Dev

在Lua中为全局变量分配功能

来自分类Dev

如何在PHP中为全局变量赋值

来自分类Dev

Bash全局变量在函数中为空

来自分类Dev

在webpack中为前端配置设置全局变量?

来自分类Dev

在Django中为模板提供全局变量

来自分类Dev

浏览工作簿时,Excel全局变量重置为空

来自分类Dev

python使用全局变量中的变量而未在局部范围内将其定义为全局变量

来自分类Dev

Scala中的全局变量

来自分类Dev

Erlang中的全局变量

来自分类常见问题

Dart中的全局变量

来自分类Dev

laravel中的全局变量