首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >数据库更新后发送消息

数据库更新后发送消息
EN

Stack Overflow用户
提问于 2020-10-12 05:37:39
回答 2查看 486关注 0票数 1

我正在使用django-channels在websockets上提供一个聊天应用程序。我将消息存储在数据库中。我希望一旦新消息被写入数据库,我就能够向客户端发送新消息。我该怎么做呢?我想我需要做一个接收post_save信号的WebSocketConstructor,但是我不知道如何向django-channels用户发送信号。

EN

回答 2

Stack Overflow用户

发布于 2021-08-22 01:32:02

您可以在您的WebSocket使用者内部调用它

代码语言:javascript
复制
from channels.db import database_sync_to_async

@database_sync_to_async
def create_message(self, content):
    new_message = global_message.objects.create(
                  sender=self.scope['user'], 
                  content=content)
    new_message.save()
    return new_message

你可以在这里阅读更多关于它的内容:Django channels docs: Database Access。或者您可以在这里查看我的源代码:ahmedyasserays/onlinechat

票数 1
EN

Stack Overflow用户

发布于 2020-10-14 04:15:40

你应该像告诉in the Channels docs的那样使用这里的通道层。

因此,在您的post_save信号中,您可以将消息从数据库发送到通道层(但将消息与通道/组匹配的问题尚未解决-我认为其中一些信息应该保存在数据库中)。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64309265

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档