├──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中设置全局变量的正确方法是什么?
与:
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)