Emanuel Eyによって提案されたように、ブループリントでインポートを実行するアプローチの問題の1つは、循環インポートを引き起こすことが判明しました。何度も遊んだ後、(私が見つけた)唯一の方法はdatabase.py
という別のファイルを作成することでした。 これはデータベースに接続し、次のようにブループリントでこの接続をインポートできます。
child.py
from database import mongo
courses = Blueprint('courses', __name__)
と私のdatabase.py
from flask.ext.pymongo import PyMongo
mongo = PyMongo()
およびアプリlogin.pyですが、データベースを初期化する必要があります
from database import mongo
app = Flask(__name__)
app.config.from_object('config')
mongo.init_app(app) # initialize here!
from child import child
from child import2 child2
app.register_blueprint(child.child)
app.register_blueprint(child2.child2)