from flask import Flask from flask_login import LoginManager from model.models import db, User, bcrypt from auth import auth from admin import admin_blueprint from dashboard import dashboard_blueprint from config import Config def create_app(): app = Flask(__name__) app.config.from_object(Config) print(f"DEBUG: SECRET_KEY = {app.config.get('SECRET_KEY')}") db.init_app(app) bcrypt.init_app(app) login_manager = LoginManager() login_manager.init_app(app) login_manager.login_view = 'auth.login' login_manager.login_message = "Please log in to access this page." app.config['SESSION_COOKIE_NAME'] = 'flask_session' @login_manager.user_loader def load_user(user_id): user = db.session.get(User, int(user_id)) print(f"DEBUG: Loading user {user_id} -> {user}") return user app.register_blueprint(admin_blueprint) app.register_blueprint(auth, url_prefix='/auth') app.register_blueprint(dashboard_blueprint) with app.app_context(): db.create_all() return app app = create_app() if __name__ == '__main__': app.run(host='0.0.0.0', port=5000, debug=False)