Python 在函数内部创建应用程序时访问配置变量
我的Flask应用程序具有以下配置: 文件结构: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
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
变量,然后可以在其他模块中根据需要导入该变量(如)。断开链接的链接是固定的。断开链接的链接是固定的。