Este aplicativo de bate-papo local baseado em Django fornece aos usuários recursos de comunicação em tempo real entre diferentes navegadores. Os usuários podem se inscrever, fazer login e participar de conversas com outros usuários por meio de uma interface da Web. O aplicativo utiliza canais Django para lidar com conexões do WebSocket, permitindo comunicação assíncrona.
Mensagens em tempo real: crie uma plataforma para usuários em vários navegadores trocar mensagens em tempo real sem a atualização da página. Autenticação do usuário: implemente a autenticação do usuário para garantir o acesso seguro à funcionalidade de bate -papo.
Modelos HTML: Defina a estrutura das páginas da Web, incluindo interfaces de login, inscrição e bate -papo. Estilo CSS: aprimore o apelo visual e a experiência do usuário por meio de estilo personalizado. JavaScript (AJAX): lidar com solicitações assíncronas para enviar e receber mensagens sem interromper a interface do usuário.
Django Framework: Ponha o servidor de back -end, manuseando operações de autenticação, roteamento e banco de dados do usuário. Canais de Django: para conexões WebSocket para comunicação em tempo real entre clientes. Python: implemente a lógica de negócios e a funcionalidade de back -end, incluindo manipulação de mensagens e gerenciamento de usuários.
Class ChatConsumer (AsyncwebSocketConsumer): Aqui estamos criando uma classe chamada ChatConsumer que herda do AsyncwebSocketConsumer e é usado para criar, destruir e fazer mais algumas coisas com o WebSockets. E aqui estamos criando o ChatSocket para o propósito necessário.
Async def Connect (self): Esta função funciona na instância do WebSocket, que foi criada e, quando a conexão é aberta ou criada, ela conecta e aceita a conexão. Ele cria um nome de grupo para a sala de chat e adiciona o grupo ao grupo de camadas de canal.
Async def desconect (): isso apenas remove a instância do grupo.
Async def recebem (): Esta função é acionada quando enviamos dados do WebSocket (o evento para que isso funcione é: send), isso recebe os dados de texto que foram convertidos no formato JSON (como é adequado para o JavaScript ) Depois que o text_data for recebido, ele precisa ser espalhado para as outras instâncias que estão ativas no grupo. Recuperamos o parâmetro da mensagem que contém a mensagem e o parâmetro de nome de usuário que foi enviado pelo soquete via HTML ou JS. Esta mensagem recebida será divulgada para outras instâncias através do método canal_layer.group_send (), que leva o primeiro argumento como o nome do quarto nome para qual grupo essa instância pertence e onde os dados precisam ser enviados. Em seguida, o segundo argumento é o dicionário que define a função que lidará com o envio dos dados ("Tipo": "SendMessage") e também o dicionário possui a mensagem variável que contém os dados da mensagem.
Async def sendMessage (self, evento): Esta função leva a instância que está enviando os dados e o evento, basicamente o evento contém os dados que foram enviados pelo método group_send () da função REPET (). Em seguida, ele envia a mensagem e o parâmetro de nome de usuário para todas as instâncias ativas no grupo. E é despejado no formato JSON para que o JS possa entender a notação. JSON é o formato (notação de objeto JavaScript)
Os usuários podem se inscrever em uma nova conta, fornecendo os detalhes necessários. Os usuários existentes podem fazer login usando suas credenciais.
Conversando:
Após a autenticação, os usuários podem acessar a interface de bate -papo. Eles podem enviar e receber mensagens em tempo real com outros usuários que fizeram login em diferentes navegadores. As mensagens são exibidas dinamicamente sem a necessidade de atualização da página.
Clone o repositório do Github. Instale as dependências necessárias usando o pip install -r requisitos.txt. Execute migrações usando python gerencia.py migre. Inicie o Django Development Server com Python Manage.py RunServer.
Inscreva -se para uma nova conta ou faça login com as credenciais existentes. Configure dois ou três usuários em diferentes webbrowsers (por exemplo, um no Fireforx, um no Chrome e outro no Microsoft Edge) inicie uma conversa digitando mensagens na caixa de entrada de bate -papo. As mensagens são entregues instantaneamente a outros usuários na mesma sala de bate -papo local.
Visualizações: lidar com solicitações HTTP e renderize os modelos HTML apropriados. Modelos: defina esquema de banco de dados, incluindo autenticação de usuário e armazenamento de mensagens. Formulários: Gerencie a entrada do usuário para obter funcionalidades de inscrição e login. Consumidores: implemente os consumidores da WebSocket usando canais Django para tratamento de mensagens em tempo real.
Implementar criptografia de mensagem para maior segurança. Explore as opções de escalabilidade para lidar com uma base de usuários maior. Hospedar o aplicativo on -line em um site de alguma forma (então a segurança precisará ser uma prioridade muito mais alta)