提问者:小点点

python如何在Flask中设置全局变量?[副本]


├──run.py
└──app
   ├──templates
   ├──_init_.py
   ├──views.py
   └──models.py

首先,我在\u init\u中声明了全局变量。py

global index_add_counter

并且在模块级别未定义全局变量“index\u add\u counter”

views.py中:

from app import app,db,index_add_counter

还有导入错误:无法导入名称索引\u添加\u计数器

我还引用了全局变量和python flask,但没有main()函数。在Flask中设置全局变量的正确方法是什么?


共1个答案

匿名用户

与:

global index_add_counter

您没有定义,只是声明,所以这就像说在其他地方有一个全局的index_add_counter变量,而不是创建一个称为index_add_counter的全局变量。因为你的名字不存在,Python告诉你它不能导入这个名字。因此,您需要简单地删除global关键字并初始化您的变量:

index_add_counter = 0

现在,您可以通过以下方式导入它:

from app import index_add_counter

建筑:

global index_add_counter

在模块的定义中使用,强制解释器在模块的作用域中查找该名称,而不是在定义中查找:

index_add_counter = 0
def test():
  global index_add_counter # means: in this scope, use the global name
  print(index_add_counter)