21 lines
653 B
Python
21 lines
653 B
Python
from flask_sqlalchemy import SQLAlchemy
|
|
from flask_migrate import Migrate
|
|
from flask_login import LoginManager
|
|
from flask_bcrypt import Bcrypt
|
|
from flask_limiter import Limiter
|
|
from flask_limiter.util import get_remote_address
|
|
from flask_wtf.csrf import CSRFProtect
|
|
|
|
# Initialize extensions
|
|
db = SQLAlchemy()
|
|
migrate = Migrate()
|
|
login_manager = LoginManager()
|
|
login_manager.login_view = "auth.login"
|
|
login_manager.login_message = "Please log in to access this page."
|
|
login_manager.login_message_category = "info"
|
|
|
|
bcrypt = Bcrypt()
|
|
csrf = CSRFProtect()
|
|
limiter = Limiter(
|
|
key_func=get_remote_address, default_limits=["200 per day", "50 per hour"]
|
|
)
|