python-如何在Flask中设置全局变量?[重复]
这个问题已经在这里有了答案 :
Flask中的全局变量是线程安全的吗?如何在请求之间共享数据? (4个答案)
3年前关闭。
我正在一个Flask
项目上,我想让我的索引在滚动时加载更多内容。我想设置一个全局变量来保存页面已加载多少次。我的项目结构如下:
├──run.py
└──app
├──templates
├──_init_.py
├──views.py
└──models.py
首先,我在中声明全局变量_init_.py
:
global index_add_counter
皮查姆(Pycharm)警告 Global variable 'index_add_counter' is undefined at the module
level
在views.py
:
from app import app,db,index_add_counter
还有 ImportError: cannot import name index_add_counter
我也引用了global-variable-and-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)