2016-11-05 84 views
1

内部创建的应用程序时,我有我的瓶的应用程序如下配置:瓶访问配置变量的函数

文件结构:

run.py 
app/ 
    __init__.py 
    views/ 
    main/ 
     __init__.py 
     main.py 
    ... 

__init__.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']。问题是,由于应用程序配置在create_app()之内,我不能简单地导入它。

hashingID总是恒定的,在许多不同的路线时,否则我会简单地把

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

的路线内。

有没有办法解决这个问题,以便我可以从函数内部生成的应用程序实例访问配置变量?谢谢。

回答

0

这取决于你想要做什么。

你可以看到in this project我们创建一个create_app函数内部Flask实例,然后从同一功能app变量传递到一定数量的执行我们的各项配置任务等功能。

create_app函数的返回值被最终分配给模块中的顶层app变量,然后可以在其他模块通过导入它作为必要的(像here)进行访问。