如何将Django通道会话分配给ORM中的对象?

时间:2017-12-09 21:29:11

标签: python django websocket channels

我有远程应用程序连接到运行Channels的Django并打开websocket连接。我不使用群组。打开websocket的原因只是来自Django的推送通知。 如果我想将通知推送到用户打开的websocket连接,如何找到打开的连接(其reply_channel)?

1 个答案:

答案 0 :(得分:0)

使用默认设置,我可以获得reply_channel字符串 在websocket.connect处理程序中:

channel = message.reply_channel.name

加上扩展的用户模型(user.channel)我可以将该频道存储到特定用户。

user = message.user
user.channel_string = channel

然后从HTTP我为特定用户获得用户频道。这是来自图层管理的Channel对象的关键:

from channels.channel import Channel

channel_string = user.channel_string
channel = Channel(channel_string)
channel.send(something)