Pré -requisitos
Antes de praticar o script mostrado neste tutorial, conclua as seguintes tarefas.
Configure um aplicativo Django
Execute o seguinte comando para criar um aplicativo django nomeado SocketApp:
$ python3 gerencia.Py StartApp SocketAppExecute o seguinte comando para instalar o canal:
$ pip install canaisAdicione os canais e o nome do aplicativo ao Instalado_app parte de configurações.py arquivo:
Instalado_apps = [Definir o valor de asgi_application no configurações.py arquivo:
Asgi_application = 'canal_pro.asgi.aplicativo'Crie uma pasta chamada modelos dentro de SocketApp pasta e defina a localização do modelo do modelo no aplicativo no MODELOS parte de configurações.py arquivo:
Modelos = [A saída a seguir aparecerá no terminal após a execução do servidor Django. A saída mostra que asgi/canais versão 3.0.3 está em execução.
Crie um arquivo de modelo chamado índice.html no local do modelo definido para exibir os dados enviados pelo WebSocket. O objeto de soquete criado usando JavaScript lerá os dados usando o JSON.Método parse () e depois transmita o valor para o conteúdo do
índice.html
Modifique o Visualizações.py arquivo do SocketApp com o seguinte conteúdo. O índice.html O arquivo de modelo será exibido no navegador com o texto variável quando o índice() O método deste script é chamado do URLs.py arquivo. Se nenhuma mensagem for transmitida do soquete, o texto 'Linuxhint'será exibido no navegador.
Visualizações.py
# Importar módulo de renderização de DjangoModifique o URLs.py arquivo do SocketApp com o seguinte conteúdo. Dois caminhos são definidos no script: o 'admin/'O caminho é usado para abrir o painel do governo Django e o'msg/'O caminho é usado para ler a mensagem WebSocket.
URLs.py
de Django.Contrible Import AdminQuando o URL a seguir for executado sem definir os arquivos de consumidor e roteamento, o protocolo HTTP funcionará e a seguinte saída será exibida.
http: // localhost: 8000/msg
Agora, crie um consumidores.py Arquivo dentro do SocketApp pasta com o seguinte script. O conectar() método de ws_consumer será usado para aceitar a conexão do soquete, ler o valor atual a cada segundo e enviar a hora atual no formato JSON via WebSocket quando esse método for chamado do arquivo de roteamento.
consumidores.py
# Importar módulo JSONCrie o roteamento.py dentro de SocketApp pasta com o seguinte script. O 'msg/'O caminho é definido no script para ligar para o consumidor para enviar os dados para o soquete.
roteamento.py
de Django.URLs Caminho de importaçãoModifique o asgi.py Arquivo com o seguinte script. Os módulos necessários para lidar com as solicitações HTTP e WebSocket são importadas no script.
asgi.py
# Importar o módulo OSAgora, execute o seguinte URL do navegador novamente para ler os dados do WebSocket.
http: // localhost: 8000/msg/
Se o consumidor e o roteador estiverem funcionando corretamente, o seguinte relógio digital será exibido no navegador. Aqui, o roteador enviou a solicitação do WebSocket usando o 'msg/'caminho para o consumidor que aceitou a solicitação e enviou os dados para o modelo para mostrar o relógio digital no navegador, onde o segundo valor da hora atual está atualizando a cada segundo.
Conclusão
Este tutorial mostrou como implementar um aplicativo em tempo real usando a estrutura e canais do Django, criando um relógio digital simples. Outros tipos de aplicativos em tempo real também podem ser implementados usando Django e canais, como sistemas de bate-papo online. Os scripts usados neste trabalho tutorial para as versões Django 3+ e o canal versões 3+ somente. Portanto, se você estiver usando um django ou versão anterior do canal, precisará atualizar a versão antes de testar o script fornecido neste tutorial.