from flask_sqlalchemy import SQLAlchemy from flask_login import LoginManager from flask_migrate import Migrate from flask_wtf.csrf import CSRFProtect from flask_limiter import Limiter from flask_limiter.util import get_remote_address db = SQLAlchemy() login_manager = LoginManager() migrate = Migrate() csrf = CSRFProtect() limiter = Limiter(key_func=get_remote_address) # storage backend set via RATELIMIT_STORAGE_URI in app config login_manager.login_view = 'auth.login' login_manager.login_message = 'Please log in to access this page.' login_manager.login_message_category = 'warning'