dt / app /extensions.py
gitdeem's picture
Upload 96 files
4e9efe9 verified
from flask_restful import Api
from flask_jwt_extended import JWTManager
from flask_migrate import Migrate
from flask_sqlalchemy import SQLAlchemy
from flask_mail import Mail
from flask_limiter import Limiter
from flask_limiter.util import get_remote_address
# 初始化扩展实例
mail = Mail()
limiter = Limiter(key_func=get_remote_address)
# 创建扩展实例(尚未初始化)
api = Api()
db = SQLAlchemy()
jwt = JWTManager()
migrate = Migrate()
def init_extensions(app):
"""初始化所有扩展"""
db.init_app(app)
api.init_app(app)
jwt.init_app(app)
mail.init_app(app)
migrate.init_app(app, db)
# 延迟初始化API(避免循环导入)
from app.routes import register_routes
# 注册路由
register_routes(api)
api.init_app(app)
# @jwt.user_lookup_loader
# def user_lookup_callback(_jwt_header, jwt_data):
# from app.models.user import User
# identity = jwt_data["sub"]
# return User.query.get(identity)