【发布时间】:2019-12-20 21:39:28
【问题描述】:
我正在尝试将用户添加到 django 频道组,但我不知道用户的频道名称。只有他们的数据库 ID/用户名。我一直在阅读频道的文档,但无法发现这些频道名称的存储位置。
通常,在频道的通讯器中,我可以将通讯器的用户添加到组中:
class OrderConsumer(AsyncJsonWebsocketConsumer):
def __init__(self, scope): ...
async def connect(self): ...
async def add_user_to_group(self, group_name):
await self.channel_layer.group_add(
group=group_name,
channel=self.channel_name
)
是否可以通过数据库访问其他用户的“self.channel_name”?还是其他?如果有怎么办?
我正在使用 InMemoryChannelLayer 进行测试:
TEST_CHANNEL_LAYERS = {
'default': {
'BACKEND': 'channels.layers.InMemoryChannelLayer',
},
}
但我的实时部署中有一个 redis 数据库(在 channels-redis 的帮助下)。 这会有所作为吗?
【问题讨论】:
标签: python django websocket python-asyncio django-channels