补充
信号
在Flask中,信号是一种用于处理应用中特定事件的机制。它允许在特定事件发生时触发和处理自定义的函数。
Flask使用第三方库Blinker
实现信号机制,在 Flask 2.3.2版本后会自动安装Blinker,如果没有安装,可以手动安装
python -m pip install blinker
使用示例
from blinker import Namespace
ns = Namespace()
# 创建信号,名为 user_login
user_login = ns.signal('user_login')
# 订阅信号
@user_login.connect
def log_user_login(user):
log_entry = f"User {user.username} logged in at {datetime.now()}"
logger.info(log_entry)
# 发送信号
class User:
def __init__(self, username):
self.username = username
user = User('zhangsan')
# 发送信号
user_login.send(user)