Extensions

The Flask ecosystem provides numerous extensions:

  • Flask-SQLAlchemy: Database ORM
  • Flask-Migrate: Database migrations
  • Flask-WTF: Forms and CSRF
  • Flask-Login: User login
  • Flask-Mail: Email sending
  • Flask-Admin: Backend administration
  • Flask-Caching: Caching
  • Flask-CORS: Cross-origin resource sharing

Usage:

  • Create extension instances in extensions.py
  • Call init_app in the application factory create_app

Example:

# app/extensions.py
from flask_caching import Cache
cache = Cache(config={"CACHE_TYPE": "SimpleCache"})

# app/__init__.py
cache.init_app(app)

Custom Extensions: Implement the init_app(app) interface, read app.config as needed, and integrate with application lifecycle.