【发布时间】:2020-06-26 00:22:55
【问题描述】:
我已经阅读了很多关于在 Django 中使用信号的文档和文章,但我无法理解这个概念。
- 在 Django 中使用信号的目的是什么?
- 它是如何工作的?
请解释信号的概念以及如何在 Django 代码中使用它。
【问题讨论】:
标签: django python-3.x django-models django-signals
我已经阅读了很多关于在 Django 中使用信号的文档和文章,但我无法理解这个概念。
请解释信号的概念以及如何在 Django 代码中使用它。
【问题讨论】:
标签: django python-3.x django-models django-signals
Django Signals 是一种策略,允许解耦的应用程序在某些事件发生时得到通知。假设您想在每次更新给定模型实例时使缓存页面无效,但是您的代码库中有几个地方可以更新此模型。您可以使用信号来执行此操作,在每次触发此特定模型的保存方法时挂钩一些要执行的代码。
另一个常见用例是当您通过一对一关系使用 Profile 策略扩展自定义 Django 用户时。我们通常做的是使用“信号调度器”来监听用户的 post_save 事件,同时更新 Profile 实例。
【讨论】: