我已经阅读了很多有关在Django中使用信号的文档和文章,但是我不理解这个概念。
请解释信号的概念以及如何在Django代码中使用它。
问题来源:stackoverflow
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
Django Signals是一种策略,允许在发生某些事件时通知解耦的应用程序。假设您要在每次更新给定模型实例时使缓存页面无效,但是代码库中有多个地方可以更新此模型。您可以使用信号来执行此操作,并在每次触发此特定模型的save方法时钩住要执行的一些代码。
另一个常见用例是通过一对一关系使用Profile策略扩展了Custom Django User。我们通常要做的是使用“信号分配器”来侦听用户的post_save事件,以也更新Profile实例。
回答来源:stackoverflow