from flask import Flask from flask_login import LoginManager from flask_migrate import Migrate from flask_sqlalchemy import SQLAlchemy from config import Config db = SQLAlchemy() migrate = Migrate() login = LoginManager() login.login_view = "auth.login" login.login_message = "Please log in to access this page." def create_app(config_class=Config): """ The application instance to be used when initializing the app :param config_class: (Default value = Config) :returns: The flask application """ app = Flask(__name__) app.config.from_object(config_class) db.init_app(app) migrate.init_app(app, db, render_as_batch=True) login.init_app(app) from app.api import bp as bp_api app.register_blueprint(bp_api, url_prefix='/api') from app.auth import bp as bp_auth app.register_blueprint(bp_auth, url_prefix='/auth') from app.errors import bp as bp_errors app.register_blueprint(bp_errors) from app.main import bp as bp_main app.register_blueprint(bp_main) return app from app import models