【问题标题】:Why use signals in Django?为什么在 Django 中使用信号?
【发布时间】:2020-06-26 00:22:55
【问题描述】:

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

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

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

【问题讨论】:

    标签: django python-3.x django-models django-signals


    【解决方案1】:

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

    另一个常见用例是当您通过一对一关系使用 Profile 策略扩展自定义 Django 用户时。我们通常做的是使用“信号调度器”来监听用户的 post_save 事件,同时更新 Profile 实例。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-03-23
      • 1970-01-01
      • 2013-09-05
      • 2012-12-01
      • 2016-03-21
      • 2014-12-27
      • 2010-11-16
      • 2021-12-17
      相关资源
      最近更新 更多