Django如何自定义和发送信号(signals)?

本文介绍了如何在Django中自定义和发送信号。通过创建Signal类实例定义信号,然后在视图中触发信号,并将监听函数与信号关联,实现解耦合的功能。当信号触发时,监听函数会接收到信号携带的参数并作出响应。
摘要由CSDN通过智能技术生成

读过Django基础(31): 如何理解和正确使用Django信号(Signals)的同学相信都应该已经学会如何使用Django内置信号比如pre_save, post_save实现不同应用程序的解耦。比如当模型A有变动时,模型B与模型C收到A发出的信号后同步更新。又或当一个数据表数据有所改变时,监听这个信号的函数可以及时清除已失效的缓存。

Django的内置信号在大多数情况下能满足我们的项目需求,但有时我们还需要使用自定义的信号。在Django项目中使用自定义信号也比较简单,分三步即可完成。

第一步:自定义信号

每个自定义的信号,都是Signal类的实例。我们首先在app目录下新建signals.py, 专门用于存放信号。这里我们定义了一个名为my_signal的信号,它包含有msg这个参数,这个参数在信号触发的时候需要传递。当监听函数收到这个信号时,还会同时得到

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值