Я повторно факторизую приложение Flask, рассеивая модели, чертежи, но у меня ошибка времени выполнения.
def create_app():
    app = flask.Flask("app")
    app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite://'
    app.register_blueprint(api)
    db.init_app(app)
    db.create_all()
    return app
У меня есть следующая проблема (здесь приведен пример проекта: https://github.com/chfw/sample):
Traceback (most recent call last):
  File "application.py", line 17, in <module>
    app = create_app()
  File "application.py", line 12, in create_app
    db.create_all()
  File "\AppData\Roaming\Python\Python27\site-packages\flask_sqlalchemy\__init__.py", line 856, in create_all
    self._execute_for_all_tables(app, bind, 'create_all')
  File "\AppData\Roaming\Python\Python27\site-packages\flask_sqlalchemy\__init__.py", line 836, in _execute_for_all_tables
    app = self.get_app(app)
  File "\AppData\Roaming\Python\Python27\site-packages\flask_sqlalchemy\__init__.py", line 809, in get_app
    raise RuntimeError('application not registered on db 
           'RuntimeError: application not registered on db 
            instance and no application bound to current context
Я провел исследование по этой теме. Здесь предлагается повторная факторизация:
Импорт/контекст Flask-SQLAlchemy
Та же проблема была поднята здесь:
И вышеупомянутый поток (2010) предложил взломать вот так:
    app.register_blueprint(api)
    db.app=app #<------------<<
    db.init_app(app)
Кто-нибудь знал, как это сделать правильно? Как вы его решили?
Спасибо