Как создать приватный чат с помощью django chennals?

#python #django #sockets #websocket #django-channels

Вопрос:

Моя цель-создать потребителя, который предоставит нам функциональность приватного чата. В приватном чате должно быть два пользователя, которые обмениваются сообщениями. Напишите сейчас, любой может увидеть чье-либо сообщение, это то, что я пытаюсь исправить.

consumer.py

 # chat/consumers.py import json from channels.generic.websocket import AsyncWebsocketConsumer  class ProjectConsumer(AsyncWebsocketConsumer):  async def connect(self):  parameter =self.room_name = self.scope['url_route']['kwargs']["username"]  print("url_parameter ",parameter)   self.project_name = parameter   # Join room group  await self.channel_layer.group_add(  self.project_name,  self.channel_name  )   await self.accept()   async def disconnect(self, close_code):  # Leave room group  await self.channel_layer.group_discard(  self.project_name,  self.channel_name  )   # Receive message from 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']   object = {  'sender':sender,  'receiver':receiver,  'message':message,  }   # Send message to room group  await self.channel_layer.group_send(  self.project_name,  {  'type': 'sent', #function name as an event type  'object': object #function parameters as an event object  }  )   # Receive message from room group  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,  }))  

Заранее большое вам спасибо, если вы потратите время на чтение этого и ответите.