Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/355.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何将两个特定的人添加到特定的聊天中,然后将他们重定向到django频道聊天中的另一个页面_Python_Django_Python 3.x_Django Channels_Channels - Fatal编程技术网

Python 如何将两个特定的人添加到特定的聊天中,然后将他们重定向到django频道聊天中的另一个页面

Python 如何将两个特定的人添加到特定的聊天中,然后将他们重定向到django频道聊天中的另一个页面,python,django,python-3.x,django-channels,channels,Python,Django,Python 3.x,Django Channels,Channels,我想让任何人谁连接到我们的服务器,并立即连接到我们的团队中的人,他们重定向到一个独特的聊天页面。我不知道如何将他们与我们团队中的某个人联系起来,并重新引导他们。我被那部分卡住了。 我真的很感谢你的帮助 我尝试从消费者页面重定向,但无论我做了什么,这似乎都不起作用。它将到达重定向,然后什么也不做。然后我尝试关闭套接字连接,然后重定向它们,但也没有成功。 我被困在如何对它们进行分组和重定向的问题上 consumers.py class ChatConsumer(WebsocketConsumer):

我想让任何人谁连接到我们的服务器,并立即连接到我们的团队中的人,他们重定向到一个独特的聊天页面。我不知道如何将他们与我们团队中的某个人联系起来,并重新引导他们。我被那部分卡住了。 我真的很感谢你的帮助

我尝试从消费者页面重定向,但无论我做了什么,这似乎都不起作用。它将到达重定向,然后什么也不做。然后我尝试关闭套接字连接,然后重定向它们,但也没有成功。 我被困在如何对它们进行分组和重定向的问题上

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视图中完成

我不知道网站的任何一方是谁,我使用web套接字实时知道谁在频道上,然后将他们放在一起room@AugustusCaesar没什么区别。即使使用websocket,您也不会注意到新用户,直到他尝试像HTTP一样连接。您可以将用户重定向到聊天室,然后将websocket消息发送给团队成员(您应该已经知道该成员,否则您将如何联系他?)。顺便说一句,在最初的握手之后,WebSocket中没有重定向这样的事情,因为它纯粹是一个HTTP概念。