from flask import Flask from flask_sqlalchemy import SQLAlchemy from flask_login import LoginManager from authlib.integrations.flask_client import OAuth from config import config db = SQLAlchemy() login_manager = LoginManager() login_manager.login_view = 'auth.login' oauth = OAuth() def create_app(config_name='default'): app = Flask(__name__) app.config.from_object(config[config_name]) db.init_app(app) login_manager.init_app(app) oauth.init_app(app) # Register blueprints here from app.main import main as main_blueprint app.register_blueprint(main_blueprint) from app.auth import auth as auth_blueprint app.register_blueprint(auth_blueprint, url_prefix='/auth') from app.admin import admin as admin_blueprint app.register_blueprint(admin_blueprint, url_prefix='/admin') return app