python-如何在Flask中设置全局变量?[重复]

发布于 2021-01-29 15:20:01

这个问题已经在这里有了答案

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

关注者
0
被浏览
316
1 个回答
  • 面试哥
    面试哥 2021-01-29
    为面试而生,有面试问题,就找面试哥。

    带有:

    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)
    


知识点
面圈网VIP题库

面圈网VIP题库全新上线,海量真题题库资源。 90大类考试,超10万份考试真题开放下载啦

去下载看看