我的Flask应用程序有以下配置:
文件结构:
run.py
app/
__init__.py
views/
main/
__init__.py
main.py
...
__初始化__。PY
def createpp():
app = Flask(__name__)
...
return app
main.py
...
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']
。问题是,由于app是在create_app()
内部配置的,我不能简单地导入它。
hashingID始终是常量并且在许多不同的路由中使用,否则我只需要放
key = app.config['KEY']
hashingID = hash(key)
在路线内。
有没有解决方法,以便我可以从函数内部生成的应用程序实例访问配置变量?感谢。
答案 0 :(得分:0)
这取决于你想要做什么。
您可以看到in this project我们在Flask
函数中创建create_app
实例,然后从同一函数将app
变量传递给许多其他函数执行我们的各种配置任务。
create_app
函数的返回值最终分配给模块中的顶级app
变量,然后可以根据需要导入其他模块(如{{3 }})。