Отправка сообщения об отключении на WebSocket в Django Channels

Я использую Django==3.2.5 и channels==3.0.4. В consumers.py я использую класс WebsocketConsumer. Мой метод disconnect() выполняется после отключения сокета, что означает, что метод disconnect не может отправить ответ на сокет. Я нашел похожую проблему в этой ссылке , но там используется класс AsyncWebsocketConsumer. Есть ли способ решить эту проблему, используя класс WebsocketConsumer?

У меня есть следующий код:

class MeetingStatus_Consumer(WebsocketConsumer):


    def connect(self):

        self.room_name = self.scope["url_route"]["kwargs"]["id"]
        self.room_group_name = 'Booking_id_%s' % self.room_name

        # Adding room_name and group_name to the channel
        async_to_sync(self.channel_layer.group_add)(
            self.room_group_name,
            self.channel_name
        )

        self.accept() # accept the request from frontend

        self.send(text_data=json.dumps({'status': "Websocket Connected"})) # send data to frontend


        

    

    def disconnect(self, *args, **kwargs):

        async_to_sync(self.channel_layer.group_discard)(
            self.room_group_name,
            self.channel_name
        )

        self.send(text_data=json.dumps({'status': "Websocket disconnected"}))
Вернуться на верх