如何从另一个.py文件导入应用程序并使用app.config以便在配置文件中使用值?

时间:2018-08-28 18:16:01

标签: python-3.x flask flask-sqlalchemy

我想使用一些在配置文件中设置的值,但是我不确定如何做到这一点。我该如何修复xxx.py?

这是初始化文件。

def init_db(app):
    db.init_app(app)
    Migrate(app, db)


def create_app(config_name):
    app = Flask(__name__)
    app.config.from_object(config[config_name])

xxx.py

import create_app
impoet modulename

x = app.config["TOKEN"]
...
...
...

config.py

Class config:

   TOKEN = 'token'
   ...
   ...

1 个答案:

答案 0 :(得分:0)

作为app的结果,您需要向xxx.py中的调用提供create_app对象,或者使app全局变量可以在任何地方使用。例如:

# __init__.py
def init_db(app):
    db.init_app(app)
    Migrate(app, db)

def create_app(config_name):
    app = Flask(__name__)
    app.config.from_object(config[config_name])    
    return app


# xxx.py
import create_app
import module_name

app = create_app('config/path')
x = app.config["TOKEN"]
...
...

# __init__.py
app = None

def init_db(app):
    db.init_app(app)
    Migrate(app, db)

def create_app(config_name):
    app = Flask(__name__)
    app.config.from_object(config[config_name])


# xxx.py
import create_app, app
import module_name

create_app('config/path')  # can be called once anywhere in the project
x = app.config["TOKEN"]
...
...