Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/python-2.7/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 在函数内部创建应用程序时访问配置变量_Python_Python 2.7_Flask - Fatal编程技术网

Python 在函数内部创建应用程序时访问配置变量

Python 在函数内部创建应用程序时访问配置变量,python,python-2.7,flask,Python,Python 2.7,Flask,我的Flask应用程序具有以下配置: 文件结构: run.py app/ __init__.py views/ main/ __init__.py main.py ... \uuuu init\uuuuu.py def createpp(): app = Flask(__name__) ... return app ... key = app.config['KEY'] hashingID = hash(key) @main.rou

我的Flask应用程序具有以下配置:

文件结构:

run.py
app/
  __init__.py
  views/
    main/
      __init__.py
      main.py
  ...
\uuuu init\uuuuu.py

def createpp():
  app = Flask(__name__)
  ...
  return app
...

key = app.config['KEY']
hashingID = hash(key)

@main.route('/', methods=['POST', 'GET'])
def main():
  ...
  return render_template('main/main.html')

...
main.py

def createpp():
  app = Flask(__name__)
  ...
  return app
...

key = app.config['KEY']
hashingID = hash(key)

@main.route('/', methods=['POST', 'GET'])
def main():
  ...
  return render_template('main/main.html')

...
如您所见,我想从main.py访问
app.config['KEY']
。问题是,由于应用程序是在
create\u app()
中配置的,所以我不能简单地导入它

hashingID始终是常量,并在许多不同的路由中使用,否则我会简单地将

key = app.config['KEY']
hashingID = hash(key)
在路线的内侧


有没有办法让我可以从函数内部生成的应用程序实例访问配置变量?谢谢。

这取决于你想做什么

您可以看到我们在
create_app
函数中创建
Flask
实例的位置,然后从该函数将
app
变量传递到执行各种配置任务的许多其他函数中


create\u app
函数的返回值最终分配给模块中的顶级
app
变量,然后可以根据需要在其他模块中导入该变量(如)。这取决于您尝试执行的操作

您可以看到我们在
create_app
函数中创建
Flask
实例的位置,然后从该函数将
app
变量传递到执行各种配置任务的许多其他函数中


create\u app
函数的返回值最终分配给模块中的顶级
app
变量,然后可以在其他模块中根据需要导入该变量(如)。断开链接的链接是固定的。断开链接的链接是固定的。