pip install import_string
基于字符串導(dǎo)入對(duì)象叉抡。如果要將導(dǎo)入路徑用作端點(diǎn)或類似的東西嚼鹉,這非常有用决帖。導(dǎo)入路徑可以用點(diǎn).
分號(hào)表示菩佑,也可以用冒號(hào)作為對(duì)象分隔符(:
)。如果silent為True爸黄,則導(dǎo)入失敗時(shí)返回值為None滞伟。
import import_string
module = import_string ('my_system.my_package.my_module' )
function = import_string ('my_system.my_module:some_function' )
Class = import_string ('my_system.my_module:SomeClass' , silent = True )
#如果路徑不存在Class = None
import_string 工廠模式
from flask import Flask
from flask.ext.mail import Mail
from flask.ext.sqlalchemy import SQLAlchemy
from werkzeug.utils import import_string
mail = Mail()
db = SQLAlchemy()
blueprints = [
'myapp.main:main',
'myapp.admin:admin',
]
def create_app(config):
app = Flask(__name__)
app.config.from_object(config)
# Load extensions
mail.init_app(app)
db.init_app(app)
# Load blueprints
for bp_name in blueprints:
bp = import_string(bp_name)
app.register_blueprint(bp)
return app