Prerequisiti:
Prima di esercitarti con lo script di questo tutorial, devi completare le seguenti attività.
- Installa la versione Django 3+ su Ubuntu 20+ (preferibilmente)
- Crea un progetto Django
- Esegui il server Django per verificare che il server funzioni correttamente o meno.
Configura un'app Django per serializzatori:
Esegui il seguente comando per creare un'app Django denominata serialapp.
$ python3 gestire.py startapp serialappEsegui il seguente comando per creare l'utente per l'accesso al database Django. Se hai già creato l'utente, non è necessario eseguire il comando.
$ python3 gestire.py createsuperuserEsegui il seguente comando per installare Django REST Framework.
$ pip3 installa djangorestframeworkAggiungi il rest_framework e il nome dell'app nel INSTALLATA_APP parte di impostazioni.pi file.
INSTALLATE_APPS = [… .
'resto_quadro',
'app seriale'
]
Crea un modello per la tabella del database:
Apri il Modelli.pi file dal serialapp cartella e aggiungere il seguente script per definire la struttura di clienti tavoli. Cliente la classe è definita per creare una tabella denominata clienti con nome, indirizzo, email, contact_no, e creato campi. Qui, nome, email, e contact_no i campi memorizzeranno i dati dei caratteri, l'indirizzo il campo memorizzerà i dati di testo e creato il campo memorizzerà i dati DateTime.
Modelli.pi
# Importa il modulo dei modellida django.modelli di importazione db
# Definire la classe del modello per la tabella dei clienti
classe Cliente (modelli.Modello):
nome = modelli.CharField(max_length=100)
indirizzo = modelli.Campo di testo()
email = modelli =.CharField(max_length=50)
contact_no = modelli.CharField(max_length=20)
creato = modelli.DateTimeField(auto_now_add=True)
Corri il migrazioni comando per creare una nuova migrazione in base alle modifiche apportate dai modelli.
$ python3 gestire.py makemigrations serialappCorri il migrare comando per eseguire i comandi SQL e creare tutte le tabelle nel database definito nel Modelli.pi file.
$ python3 gestire.py migrareModifica il contenuto del of amministratore.pi file con il seguente contenuto. Qui, il cliente la classe dei modelli è registrata utilizzando il registro() metodo per visualizzare il clienti tabelle nella dashboard di amministrazione di Django.
amministratore.pi
# Importa modulo di amministrazioneda django.amministratore di importazione contributi
# Importa il modello del cliente
a partire dal .modelli importati Cliente
# Registra il modello del cliente
amministratore.luogo.registra (cliente)
URL.pi
da django.percorso di importazione degli URLda django.amministratore di importazione contributi
patternurl = [
# Definisci il percorso per admin
percorso('admin/', admin.luogo.URL),
]
Aggiungi record nella tabella:
Apri la pagina di amministrazione di Django e aggiungi alcuni record nel clienti tabella visualizzata nel browser in formato JSON. Qui sono stati inseriti tre record.
Modifica le visualizzazioni.pi:
Apri il visualizzazioni.pi file dal serialapp e sostituisci il contenuto con il seguente script. Elenco clienti la classe è definita per serializzare tutti i record dei clienti e restituire i dati al browser in formato JSON. Dettagli cliente la classe è definita per serializzare il particolare record del cliente in base al valore ID e restituire i dati del browser in formato JSON. CustomerSerializer è un file di serializzatori che è stato creato nella parte successiva di questo tutorial.
visualizzazioni.pi
# Importa generici da Django REST Frameworkda rest_framework importa generici
# Importa modello cliente
a partire dal .modelli importati Cliente
# Importa CustomerSerializer dai serializzatori
a partire dal .i serializzatori importano CustomerSerializer
# Definisci la classe per convertire tutti i record della tabella dei clienti in JSON
class CustomerList(generici.ListCreateAPIView):
queryset = Cliente.oggetti.tutti()
serializer_class = CustomerSerializer
# Definisci la classe per convertire il record particolare della tabella dei clienti in JSON
class CustomerDetail(generici.RetrieveUpdateDestroyAPIView):
queryset = Cliente.oggetti.tutti()
serializer_class = CustomerSerializer
Crea serializzatore:
Creare serializzatori.pi file nella stessa posizione del visualizzazioni.pi file con il seguente script. ModelloSerializer class è usata qui per creare CustomerSerializer classe che restituisce la classe serializzatori con i campi del modello Customer. I campi del modello cliente che verranno convertiti in formato JSON sono menzionati nel in meta classe.
serializzatori.pi
# Importa il modulo serializzatori da Django REST Frameworkdai serializzatori di importazione rest_framework
# Importa modello cliente
a partire dal .modelli importati Cliente
# Definire la classe dei serializzatori personalizzati per convertire i campi del modello Customer in JSON
class CustomerSerializer (serializzatori.ModelSerializer):
classe Meta:
modello = Cliente
field = ('id', 'name', 'address', 'email', 'contact_no')
Modifica gli URL.py file:
Modifica il contenuto del of URL.pi file con il seguente script. Nella sceneggiatura, il 'clienti/'il percorso è definito per visualizzare tutti i record del clienti tabella in formato JSON e il 'clienti/
URL.pi
# Importa modulo di amministrazioneda django.amministratore di importazione contributi
# Importa il percorso e includi il modulo
da django.percorso di importazione degli URL
# Importa le visualizzazioni
dalle visualizzazioni di importazione di serialapp
# Importa format_suffix_patterns da Django REST Framework
da rest_framework.urlpatterns import format_suffix_patterns
patternurl = [
# Definisci il percorso per admin
percorso('admin/', admin.luogo.URL),
# Definisci il percorso per ottenere tutti i dati dei clienti in formato JSON
percorso('clienti/', viste.Elenco clienti.as_view()),
# Definire il percorso per ottenere i dati del cliente in base all'ID in formato JSONSON
percorso('clienti//', viste.Dettagli cliente.as_view()),
]
urlpatterns = format_suffix_patterns(urlpatterns)
Tutti i record della tabella dei clienti verranno visualizzati in formato JSON se verrà eseguito il seguente URL.
http://localhost:8000/clienti
Il record del secondo cliente verrà mostrato in formato JSON se viene eseguito il seguente URL.
http://localhost:8000/clienti/2
Conclusione:
L'uso di serializzatori nell'applicazione Django per convertire l'istanza del modello in formato JSON è mostrato in questo tutorial utilizzando un semplice script. Gli utenti di Django capiranno lo scopo dell'utilizzo dei serializzatori e li applicheranno nella loro applicazione, se necessario, dopo aver letto questo tutorial.