def create_app(config_name): app = Flask(__name__) admin = Admin(base_template='admin/master.html', template_mode='bootstrap3') # get the config from config.py app.config.from_object(config[config_name]) config[config_name].init_app(app) # register blueprints from app.core import core as core_blueprint app.register_blueprint(core_blueprint) # bind BS, DB, datastore and flask-admin to app bootstrap.init_app(app) db.init_app(app) user_datastore = SQLAlchemyUserDatastore(db, User, Role) security.init_app(app, user_datastore) admin.init_app(app) # init flask-admin views from app.auth.admin import init as init_auth_admin_models init_auth_admin_models(admin) @app.before_first_request def before_first_request(): init_security(user_datastore) return app
def init_db(app): """ Initialize db """ from app.core.models import db db.init_app(app) db.app = app
def create_app(): app = Flask(__name__) app.config['DEBUG'] = settings.DEBUG app.config['HOST'] = "127.0.0.1" # Celery app.config['CELERY_BROKER_URL'] = settings.CELERY_BROKER_URL app.config['CELERY_RESULT_BACKEND'] = settings.CELERY_RESULT_BACKEND celery.conf.update(app.config) # Frontend CSRF app.config['WTF_CSRF_ENABLED'] = settings.WTF_CSRF_ENABLED app.config['SECRET_KEY'] = settings.SECRET_KEY # Bootstrap Bootstrap(app) # Database app.config[ 'SQLALCHEMY_DATABASE_URI'] = 'postgresql://{}:{}@{}:{}/{}'.format( settings.DATABASE_USERNAME, settings.DATABASE_PASSWORD, settings.DATABASE_HOST, settings.DATABASE_PORT, settings.DATABASE_NAME) app.config['SQLALCHEMY_TRACK_MODIFICATIONS'] = False db.init_app(app) migrate.init_app(app, db) from app.frontend.routes import mod as frontend_mod app.register_blueprint(frontend_mod) from app.backend.routes import mod as backend_mod app.register_blueprint(backend_mod, url_prefix='/api') if 'unittest' not in sys.argv[ 0] and 'db' not in sys.argv and settings.CALLBACK_IP_ADDRESS is None and settings.CALLBACK_URL is None: raise Exception( "Please review README and export CALLBACK_IP_ADDRESS or CALLBACK_URL" ) return app
def register_database(app): db.init_app(app) db.app = app
def register_database(app): db.init_app(app) db.app = app cache.init_app(app)
def init_db(app): """ Initialize db """ db.init_app(app) db.app = app
def __init__(self, app): self.app = app db.init_app(self.app)
def init_db(app): db.init_app(app) db.app = app