Preduvjeti:
Prije vježbanja skripte ovog vodiča, morate izvršiti sljedeće zadatke.
- Instalirajte Django verziju 3+ na Ubuntu 20+ (po mogućnosti)
- Stvorite Django projekt
- Pokrenite Django poslužitelj kako biste provjerili poslužitelj ispravno radi ili ne.
Postavljanje aplikacije Django za serilizatore:
Pokrenite sljedeću naredbu za stvaranje Django aplikacije s imenom serialapp.
$ python3 upravljanje.py startapp serialappPokrenite sljedeću naredbu za stvaranje korisnika za pristup Django bazi podataka. Ako ste već stvorili korisnika, tada ne morate pokretati naredbu.
$ python3 upravljanje.py stvarauporabiteljaPokrenite sljedeću naredbu da biste instalirali Django REST Framework.
$ pip3 instaliraj djangorestframeworkDodajte rest_framework i naziv aplikacije u INSTALLED_APP dio postavke.py datoteka.
INSTALLED_APPS = [.. .
'ostatak_okvira',
'serialapp'
]
Stvorite model za tablicu baze podataka:
Otvori modeli.py datoteka iz serialapp mapu i dodajte sljedeću skriptu da definirate strukturu kupci stolovi. Kupac klasa je definirana za stvaranje tablice s imenom kupci s ime, adresa, e-adresa, kontakt_br, i stvorena polja. Ovdje, ime, e-mail, i kontakt_br polja pohranit će podatke o znakovima, adresa polje će pohraniti tekstualne podatke i stvorena polje će pohraniti podatke DateTime.
modeli.py
# Uvezite modul modelaiz djanga.db modeli uvoza
# Definirajte klasu modela za tablicu kupaca
razred Kupac (modeli.Model):
ime = modeli.CharField (max_length = 100)
adresa = modeli.Polje za tekst()
e-mail = modeli.CharField (max_length = 50)
contact_no = modeli.CharField (max_length = 20)
stvoreno = modeli.DateTimeField (auto_now_add = True)
Pokrenite makemigracije naredba za stvaranje nove migracije na temelju promjena koje su izvršili modeli.
$ python3 upravljanje.py makemigrations serialappPokrenite migrirati naredba za izvršavanje SQL naredbi i stvaranje svih tablica u bazi podataka definiranih u modeli.py datoteka.
$ python3 upravljanje.py migriratiIzmijenite sadržaj admin.py datoteka sa sljedećim sadržajem. Ovdje, kupac klasa modela registrirana je pomoću registar () metoda za prikaz kupci tablice na nadzornoj ploči administracije Django.
admin.py
# Uvoz administrativnog modulaiz djanga.doprinos uvoz admin
# Uvezite model kupca
iz .modeli uvoz kupac
# Registrirajte model kupca
admin.web mjesto.registrirati (kupac)
url adrese.py
iz djanga.put uvoza URL-ovaiz djanga.doprinos uvoz admin
urlpatterns = [
# Definirajte put za administratora
put ('admin /', admin.web mjesto.URL-ovi),
]
U tablicu dodajte zapise:
Otvorite stranicu Administracija Django i dodajte neke zapise u kupci tablica prikazana pregledniku u JSON formatu. Ovdje su umetnuta tri zapisa.
Izmijenite poglede.py:
Otvori pogleda.py datoteka iz serialapp a sadržaj zamijenite sljedećom skriptom. Popis kupaca klasa je definirana za serializaciju svih zapisa kupaca i vraćanje podataka u preglednik u JSON formatu. Pojedinosti o kupcu klasa je definirana za serializaciju određenog korisničkog zapisa na temelju vrijednosti ID-a i vraćanje podataka preglednika u JSON formatu. CustomerSerializer datoteka je serializatora koja je stvorena u sljedećem dijelu ovog vodiča.
pogleda.py
# Uvezite generičke lijekove iz Django REST Framework-aiz rest_framework uvoza generičkih podataka
# Uvoz modela kupca
iz .modeli uvoz kupac
# Uvezite CustomerSerializer iz serializatora
iz .serializatori uvoze CustomerSerializer
# Definirajte klasu za pretvaranje svih zapisa tablice kupaca u JSON
klasa CustomerList (generički.ListCreateAPIView):
queryset = kupac.predmeta.svi()
serializer_class = CustomerSerializer
# Definirajte klasu za pretvaranje određenog zapisa tablice kupaca u JSON
klasa CustomerDetail (generički.RetrieveUpdateDestroyAPIView):
queryset = kupac.predmeta.svi()
serializer_class = CustomerSerializer
Stvori serilizator:
Stvoriti serializatori.py datoteku na istom mjestu pogleda.py datoteka sa sljedećom skriptom. ModelSerializer klasa se ovdje koristi za stvaranje CustomerSerializer klasa koja vraća klasu serializatora s poljima korisničkog modela. Polja korisničkog modela koja će se pretvoriti u JSON format navedena su u Meta razred.
serializatori.py
# Uvoz modula serializatora iz Django REST Framework-aiz rest_framework uvoza serializatora
# Uvoz modela kupca
iz .modeli uvoz kupac
# Definirajte klasu prilagođenih serializatora za pretvaranje polja modela kupca u JSON
klasa CustomerSerializer (serializatori.ModelSerializer):
klasa Meta:
model = kupac
polja = ('id', 'name', 'address', 'email', 'contact_no')
Izmijenite URL-ove.py datoteka:
Izmijenite sadržaj url adrese.py datoteka sa sljedećom skriptom. U scenariju, 'kupci /'staza je definirana za prikaz svih zapisa datoteke kupci tablica u JSON formatu i 'kupci /
url adrese.py
# Uvoz administrativnog modulaiz djanga.doprinos uvoz admin
# Uvezi put i uključi modul
iz djanga.put uvoza URL-ova
# Uvezite poglede
iz pogleda za uvoz serialapp
# Uvezite format_suffix_patterns iz Django REST Framework-a
iz rest_framework.urlpatterns import format_suffix_patterns
urlpatterns = [
# Definirajte put za administratora
put ('admin /', admin.web mjesto.URL-ovi),
# Definirajte put do svih podataka o kupcima u JSON formatu
path ('kupci /', prikazi.Popis kupaca.as_view ()),
# Definirajte put za dobivanje određenih podataka o kupcu na temelju ID-a u JSON formatu
path ('kupci //', prikazi.Pojedinosti o kupcu.as_view ()),
]
urlpatterns = format_suffix_patterns (urlpatterns)
Svi zapisi tablice kupaca prikazat će se u JSON formatu ako se izvrši sljedeći URL.
http: // localhost: 8000 / kupci
Zapis drugog kupca prikazat će se u JSON formatu ako se izvrši sljedeći URL.
http: // localhost: 8000 / customers / 2
Zaključak:
Upotreba serializatora u aplikaciji Django za pretvaranje instance modela u JSON format prikazana je u ovom vodiču pomoću jednostavne skripte. Korisnici Djanga razumjet će svrhu korištenja serializatora i primijenit će ih u svojoj aplikaciji ako su potrebni nakon čitanja ovog vodiča.