Project_Manager/app/extensions.py
2026-06-26 18:21:22 +02:00

26 lines
887 B
Python

"""Zentrale Instanziierung der Flask-Extensions.
Hier werden die Extension-Objekte ohne App erzeugt und in der App-Factory
(app/__init__.py) via init_app(app) gebunden. So vermeiden wir zirkuläre
Importe und können Module sauber auf gemeinsame Extensions zugreifen.
"""
from flask_sqlalchemy import SQLAlchemy
from flask_migrate import Migrate
from flask_login import LoginManager
from flask_mail import Mail
from flask_limiter import Limiter
from flask_limiter.util import get_remote_address
from flask_wtf import CSRFProtect
db = SQLAlchemy()
migrate = Migrate()
login_manager = LoginManager()
mail = Mail()
limiter = Limiter(key_func=get_remote_address)
csrf = CSRFProtect()
# Auth-Konfiguration: Wohin umleiten, wenn Login nötig ist.
login_manager.login_view = "auth.login"
login_manager.login_message = "Bitte zuerst einloggen."
login_manager.login_message_category = "info"