# django信号系统
django自带一套信号发射系统来帮助我们在框架的不同位置传递信息.也就是说,当某一事件发生时,信号系统可以允许一个或多个发送者(senders)将通知或信号(signals)推送给一组接受者(receivers).信号系统在我们多处代码与同一个事件相关是特别有用.
既然是信号系统,那么必须包含以下要素:
1. 发送者-谁发送了信号
2. 信号-发送的信号本身
3. 接收者-信号是发给谁的
创建信号
想要发送信号,必须先要创建一个信号,在django中,信号是django.dispatch.Signal
类的实例,该类的构造函数接受一个名叫providing_args
参数,该参数是参数名列表,举例如下:
import django.dispatch
game_start = django.dispatch.Signal(providing_args=['player', 'level'])
该段代码的意思是,生成一个在游戏开始时发送的信号,信号包含两个参数,游戏者,关卡.