#python #django #django-rest-framework #websocket #django-channels
#питон #джанго #django-rest-фреймворк #websocket #джанго-каналы
Вопрос:
Я использую каналы django. Я столкнулся с проблемой. Я пытаюсь перебирать разные названия комнат, чтобы отправлять сообщения. но я получаю ошибку типа. Я не знаю, возможно ли это с django-каналами или можно использовать цикл для отправки сообщений в сокетах
мой код. завершители.Потребитель проекта
Получить сообщение от WebSocket
async def receive(self, text_data): text_data_json = json.loads(text_data) sender = text_data_json['sender'] receiver = text_data_json['receiver'] message = text_data_json['message'] # Send message to room group username = ["admin","main"] for user in username: object = { 'sender':sender, 'receiver': user, 'message':message, } username = user self.room_name = username print("here", self.room_name) self.channel_layer.group_send( self.room_name, { 'type': 'sent', #function name as an event type 'object': object #function parameters as an event object } ) async def sent(self, event): sender = event['object']["sender"] receiver = event['object']["receiver"] message = event['object']["message"] # Send message to WebSocket await self.send(text_data=json.dumps({ 'sender':sender, 'receiver':receiver, 'message':message, }))
ошибка:
File "/home/aa/gitCodes/clone-beru/4-multiuser_handler/backend/notifications/sockets/consumers.py", line 117, in receive await self.channel_layer.group_send(... TypeError: can not serialize 'type' object