Prerequisiti
Prima di praticare la sceneggiatura mostrata in questo tutorial, assicurarsi di completare le seguenti attività.
Imposta un'app Django
Esegui il seguente comando per creare un'app Django denominata socketpp:
$ Python3 Gestisci.Py StartApp SocketAppEsegui il comando seguente per installare il canale:
$ PIP Installa canaliAggiungi i canali e il nome dell'app a Installato_app parte di impostazioni.Py file:
Installato_apps = [Definire il valore di asgi_application in impostazioni.Py file:
Asgi_application = 'channel_pro.asgi.applicazione'Crea una cartella denominata modelli dentro il socketpp cartella e impostare la posizione del modello dell'app in Modelli parte di impostazioni.Py file:
Modelli = [Il seguente output apparirà nel terminale dopo aver eseguito il server Django. L'output mostra che ASGI/canali versione 3.0.3 è in esecuzione.
Crea un file modello denominato indice.html Nella posizione del modello definito per visualizzare i dati inviati da WebSocket. L'oggetto socket che viene creato utilizzando JavaScript leggerà i dati utilizzando JSON.Metodo Parse (), quindi passare il valore nel contenuto del
indice.html
Modificare il visualizzazioni.Py File del socketpp Con i seguenti contenuti. IL indice.html Il file modello verrà visualizzato nel browser con testo variabile quando il indice() Il metodo di questo script è chiamato dal URL.Py file. Se non viene trasmesso alcun messaggio dalla presa, il testo 'Linuxhint'verrà visualizzato nel browser.
visualizzazioni.Py
# Importa il modulo di rendering da DjangoModificare il URL.Py File del socketpp Con i seguenti contenuti. Nello script sono definiti due percorsi: il 'amministratore/"Il percorso viene utilizzato per aprire il cruscotto di amministrazione Django e il"msg/'Il percorso viene utilizzato per leggere il messaggio WebSocket.
URL.Py
da Django.AMPIONE AMMINIO DI IMPITQuando il seguente URL viene eseguito senza definire il consumatore e i file di routing, il protocollo HTTP funzionerà e verrà visualizzato il seguente output.
http: // localhost: 8000/msg
Ora crea un file consumatori.Py file all'interno del socketpp cartella con il seguente script. IL Collegare() metodo di ws_consumer verrà utilizzato per accettare la connessione socket, leggere il valore temporale corrente ogni secondo e inviare l'ora corrente in formato JSON tramite WebSocket quando questo metodo viene chiamato dal file di routing.
consumatori.Py
# Importa il modulo JSONCreare il routing.Py dentro il socketpp cartella con il seguente script. IL 'msg/'Il percorso è definito nello script per chiamare il consumatore per l'invio dei dati alla presa.
routing.Py
da Django.percorso di importazione degli URLModificare il asgi.Py File con il seguente script. I moduli necessari per gestire le richieste HTTP e WebSocket vengono importati nello script.
asgi.Py
# Importa il modulo OSOra, esegui nuovamente il seguente URL dal browser per leggere i dati dal WebSocket.
http: // localhost: 8000/msg/
Se il consumatore e il router funzionano correttamente, il seguente orologio digitale verrà visualizzato nel browser. Qui, il router ha inviato la richiesta WebSocket utilizzando il 'msg/'Percorso al consumatore che ha accettato la richiesta e ha inviato i dati al modello per mostrare l'orologio digitale nel browser in cui il secondo valore del tempo corrente si aggiorna ogni secondo.
Conclusione
Questo tutorial ti ha mostrato come implementare un'applicazione in tempo reale utilizzando il framework e i canali Django creando un semplice orologio digitale. Altri tipi di applicazioni in tempo reale possono anche essere implementati utilizzando django e canali, come i sistemi di chat online. Gli script utilizzati in questo tutorial per le versioni Django 3+ e solo versioni di canale 3+. Quindi, se si utilizza una precedente versione Django o canale, dovrai aggiornare la versione prima di testare lo script fornito in questo tutorial.