为什么要在Django中使用信号?

问题描述 投票:0回答:1

我已经阅读了很多有关在Django中使用信号的文档和文章,但是我无法理解这个概念。

  • 在Django中使用信号的目的是什么?
  • 如何运作?

[请解释信号的概念以及如何在Django代码中使用它。

django python-3.x django-models django-signals
1个回答
0
投票

Django Signals是一种策略,允许在发生某些事件时通知解耦的应用程序。假设您要在每次更新给定模型实例时使缓存页面无效,但是代码库中有多个地方可以更新此模型。您可以使用信号来执行此操作,并在每次触发此特定模型的save方法时钩住要执行的一些代码。

[另一个常见用例是,您通过使用Profile策略通过一对一关系扩展了Custom Django User。通常,我们使用“信号分配器”来侦听用户的post_save事件,并同时更新Profile实例。

© www.soinside.com 2019 - 2024. All rights reserved.