我想让任何连接到我们服务器的人立即将他们与我们团队中的某个人联系起来,并将他们俩重定向到一个独特的聊天页面。我不知道如何将他们与我们团队中的某个人联系起来并重定向他们俩。我被困在那个部分。我真的很感谢你的帮助。
我尝试从消费者页面重定向,但这似乎对我所做的一切都不起作用。它会到达重定向,然后什么都不做。然后我尝试关闭套接字连接,然后重定向它们,这也不起作用。我被困在如何对它们进行分组并重定向它们上。
consumers.py
class ChatConsumer(WebsocketConsumer):
def connect(self):
self.room_name = self.scope['url_route']['kwargs']['room_name']
self.room_group_name = 'chat_%s' % self.room_name
# Join room group
async_to_sync(self.channel_layer.group_add)(
self.room_group_name,
self.channel_name
)
self.accept()
# mine!
# finds which user just connected to the websocket
user = self.scope['user']
print(user)
ready.append(user)
# trying to group person online and from our team
# async_to_sync(self.channel_layer.group_add)(
# self.room_group_name,
# self.channel_name,
# ready[0],
# team[0],
# )
# trying different ways to redirect, none worked
# self.disconnect(close_code=redirect('https://www.yahoo.com/'))
# self.close()
# redirecting()
# ready.append(user)
# print(ready[0])
# self.disconnect(self.redirectIT('home'))
#
# raise channels.exceptions.StopConsumer
# redirect('room', 'hi')
# return redirecting()
# self.close()
# self.close()
我希望它会将用户和我们团队中的某个人分组,但这并没有发生,而是给了我错误,它得到了超出需要的参数。重定向没有抛出任何错误,但它没有做任何事情。
你应该在正常的 django 视图中完成所有这些操作。用户发送请求,您创建聊天并与用户一起向其添加团队成员。然后,用户直接从处理请求的 django 视图重定向到聊天页面。当他到达页面时,现在应该使用通道通过 websocket 发送聊天消息。在此之前的所有事情都应该在 django 视图中完成