【问题标题】:Send data to users base on database event in Django channels根据 Django 通道中的数据库事件向用户发送数据
【发布时间】:2019-03-17 21:47:11
【问题描述】:

我在 Django 中有一个应用程序,一些用户可以添加和更新数据。这些用户使用 Django 标准表单和视图添加或更新数据。

我想实现另一个应用程序,当用户在数据库中更新或创建数据时向所有用户发送新数据。我阅读了可以处理 Web 套接字的 Django 通道,但我在 Django 通道中找不到有关服务器或数据库事件的信息。

那么当数据库事件发生时如何向用户发送数据呢?

【问题讨论】:

  • 你能添加你的代码或者你目前已经实现的任何东西吗?
  • @Junia 。我还没有这个应用程序的任何代码。我想先找到最好的方法。

标签: django django-channels


【解决方案1】:

您可以使用信号来检测 Django 中的数据库事件。看看这里解释的信号:https://docs.djangoproject.com/en/2.1/topics/signals/

基本上,您将按照以下方式做一些事情:

@receiver(post_save, sender=ModelClass)
def my_model_save(sender, instance, **kwargs):
     # this code will be executed after an instance of ModelClass is saved.
     Group(rate_key).send({
            "text": "my message"
     })

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-07-28
    • 2015-02-24
    • 2021-11-06
    • 2021-02-21
    • 1970-01-01
    • 2011-07-28
    相关资源
    最近更新 更多