Forudsætninger:
Før du træner scriptet til denne vejledning, skal du udføre følgende opgaver.
- Installer Django version 3+ på Ubuntu 20+ (helst)
- Opret et Django-projekt
- Kør Django-serveren for at kontrollere, at serveren fungerer korrekt eller ej.
Konfigurer en Django-app til Serializers:
Kør følgende kommando for at oprette en Django-app med navnet serialapp.
$ python3 administrere.py startapp serialappKør følgende kommando for at oprette brugeren til adgang til Django-databasen. Hvis du har oprettet brugeren før, behøver du ikke køre kommandoen.
$ python3 administrere.py skaberbrugerKør følgende kommando for at installere Django REST Framework.
$ pip3 installerer djangorestframeworkTilføj rest_framework og appnavn i INSTALLERET_APP en del af indstillinger.py fil.
INSTALLED_APPS = [.. .
'rest_framework',
'serialapp'
]
Opret en model til databasetabellen:
Åbn modeller.py fil fra serialapp mappen og tilføj følgende script for at definere strukturen af kunder tabeller. Kunde klasse er defineret til at oprette en tabel med navnet kunder med navn, adresse, e-mail, contact_no, og oprettet felter. Her, navn, e-mail, og kontakt_nr felter gemmer karakterdata, adressen felt gemmer tekstdataene og oprettet feltet gemmer DateTime-data.
modeller.py
# Importer modelmoduletfra django.db import modeller
# Definer modelklassen til kundetabellen
klasse kunde (modeller.Model):
navn = modeller.CharField (max_length = 100)
adresse = modeller.Tekstfelt()
e-mail = modeller.CharField (max_length = 50)
contact_no = modeller.CharField (max_length = 20)
oprettet = modeller.DateTimeField (auto_now_add = True)
Kør makemigrationer kommando til at oprette en ny migration baseret på ændringer foretaget af modellerne.
$ python3 administrere.py makemigrations serialappKør migrere kommando til at udføre SQL-kommandoer og oprette alle tabeller i databasen defineret i modeller.py fil.
$ python3 administrere.py migrereRediger indholdet af admin.py fil med følgende indhold. Her, kunden klasse af modeller registreres ved hjælp af registret () metode til at vise kunder tabeller i Django-administrationens dashboard.
admin.py
# Importér admin-modulfra django.import importadministrator
# Importer kundemodellen
fra .modeller importerer kunde
# Registrer kundemodellen
admin.websted.registrer (kunde)
webadresser.py
fra django.webadresser til import af stifra django.import importadministrator
urlmønstre = [
# Definer stien til admin
sti ('admin /', admin.websted.webadresser),
]
Tilføj poster i tabellen:
Åbn siden Django Administration, og tilføj nogle poster til kunder tabel vist til browseren i JSON-format. Her er der indsat tre poster.
Rediger visningerne.py:
Åbn synspunkter.py fil fra serialapp og udskift indholdet med følgende script. Kundeliste klasse er defineret til at serieisere alle kundens poster og returnere dataene til browseren i JSON-format. CustomerDetail klasse er defineret til at serieisere den bestemte kundeoptegnelse baseret på ID-værdien og returnere browserens data i JSON-format. CustomerSerializer er en serialiseringsfil, der er oprettet i den næste del af denne vejledning.
synspunkter.py
# Importer generiske stoffer fra Django REST Frameworkfra rest_framework importerer generics
# Importer kundemodel
fra .modeller importerer kunde
# Importer CustomerSerializer fra serializers
fra .serializers importerer CustomerSerializer
# Definer klasse for at konvertere alle poster i kundetabellen til JSON
klasse CustomerList (generiske.ListCreateAPIView):
queryset = kunde.genstande.alle()
serializer_class = CustomerSerializer
# Definer klasse for at konvertere den bestemte registrering af kundetabellen til JSON
klasse CustomerDetail (generiske.RetrieveUpdateDestroyAPIView):
queryset = kunde.genstande.alle()
serializer_class = CustomerSerializer
Opret Serializer:
skab serialisatorer.py fil samme sted som synspunkter.py fil med følgende script. ModelSerializer klasse bruges her til at oprette CustomerSerializer klasse, der returnerer klassen serializers med felterne i Kundemodellen. Kundemodelfelterne, der konverteres til JSON-format, er nævnt i Meta klasse.
serialisatorer.py
# Importer serialiseringsmodul fra Django REST Frameworkfra rest_framework importerer serialiseringer
# Importer kundemodel
fra .modeller importerer kunde
# Definer den tilpassede serialiseringsklasse for at konvertere felterne Kundemodel til JSON
klasse CustomerSerializer (serializers.ModelSerializer):
klasse Meta:
model = kunde
felter = ('id', 'navn', 'adresse', 'e-mail', 'contact_no')
Rediger webadresserne.py-fil:
Rediger indholdet af webadresser.py fil med følgende script. I manuskriptet står 'kunder /stien er defineret til at vise alle poster af kunder tabel i JSON-format, og 'kunder /
webadresser.py
# Importér admin-modulfra django.import importadministrator
# Importer sti og inkluder modul
fra django.webadresser til import af sti
# Importer visningerne
fra serialapps importvisninger
# Importer format_suffix_mønstre fra Django REST Framework
fra rest_framework.urlmønstre importerer format_suffix_mønstre
urlmønstre = [
# Definer stien til admin
sti ('admin /', admin.websted.webadresser),
# Definer stien til at få alle kundedata i JSON-format
sti ('kunder /', synspunkter.Kundeliste.som_visning ()),
# Definer stien til at hente bestemte kundedata baseret på ID i JSON-format
sti ('kunder //', visninger.CustomerDetail.som_visning ()),
]
urlmønstre = format_suffix_mønstre (urlmønstre)
Alle optegnelser over kundetabellen vises i JSON-format, hvis den følgende URL udføres.
http: // localhost: 8000 / kunder
Den anden kundes post vises i JSON-format, hvis følgende URL udføres.
http: // localhost: 8000 / kunder / 2
Konklusion:
Brugen af serializers i Django-applikationen til at konvertere modelinstansen til JSON-format har vist i denne vejledning ved hjælp af et simpelt script. Django-brugerne vil forstå formålet med at bruge serialiseringer og anvende dem i deres applikation, hvis det er nødvendigt efter at have læst denne vejledning.