26 lines
887 B
Python
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"
|