extensions.py 623 B

12345678910111213141516171819202122
  1. from flask import request
  2. from flask_limiter import Limiter
  3. from flask_limiter.util import get_remote_address
  4. from flask_login import LoginManager
  5. from flask_migrate import Migrate
  6. from flask_sqlalchemy import SQLAlchemy
  7. db = SQLAlchemy()
  8. login_manager = LoginManager()
  9. login_manager.session_protection = "strong"
  10. migrate = Migrate(db=db)
  11. # Setup rate limit facility
  12. limiter = Limiter(key_func=get_remote_address)
  13. @limiter.request_filter
  14. def ip_whitelist():
  15. # Uncomment line to test rate limit in dev environment
  16. # return False
  17. # No limit for local development
  18. return request.remote_addr == "127.0.0.1"