예제 #1
0
def create_app():
    app = Flask(__name__)
    app.config.from_object('library.base_settings')
    app.config.from_object('library.api.settings')

    db.init_app(app)

    @app.teardown_request
    def commit_session(exception=None):
        if exception:
            db.session.rollback()
        else:
            db.session.commit()

    @app.before_request
    def close_session():
        db.session.close()

    # Register blueprints
    app.register_blueprint(root)
    app.register_blueprint(author)

    return app