Django

Kako koristiti Django serializatore

Kako koristiti Django serializatore
Serijalizator se koristi u Djangu za pretvaranje primjeraka modela ili skupova upita u vrste podataka podržane pythonom koje se lako mogu prikazati u JSON, XML ili druge formate. Deserijalizaciju mogu izvršiti i serializatori kako bi vratili izvorne podatke iz serializiranih podataka. Ova je značajka dostupna u Django REST Framework-u. Dakle, korisnici moraju instalirati ovaj okvir da bi koristili serializatore. Bilo koja web stranica može sadržavati HTML, CSS i podatke iz tablica baze podataka. Ali API ne razumije ove vrste sadržaja i može razumjeti samo sirove podatke, odnosno JSON podatke. Kako se serilizatori mogu koristiti za pretvaranje instance modela u JSON format, prikazano je u ovom vodiču.

Preduvjeti:

Prije vježbanja skripte ovog vodiča, morate izvršiti sljedeće zadatke.

  1. Instalirajte Django verziju 3+ na Ubuntu 20+ (po mogućnosti)
  2. Stvorite Django projekt
  3. 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 serialapp

Pokrenite sljedeću naredbu za stvaranje korisnika za pristup Django bazi podataka. Ako ste već stvorili korisnika, tada ne morate pokretati naredbu.

$ python3 upravljanje.py stvarauporabitelja

Pokrenite sljedeću naredbu da biste instalirali Django REST Framework.

$ pip3 instaliraj djangorestframework

Dodajte 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 modela
iz 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 serialapp

Pokrenite migrirati naredba za izvršavanje SQL naredbi i stvaranje svih tablica u bazi podataka definiranih u modeli.py datoteka.

$ python3 upravljanje.py migrirati

Izmijenite 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 modula
iz 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-ova
iz 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-a
iz 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-a
iz 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 //'staza je definirana za prikaz određenih podataka kupci tablica u JSON formatu na temelju vrijednosti ID-a.

url adrese.py

# Uvoz administrativnog modula
iz 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.

Kako instalirati League Of Legends na Ubuntu 14.04
Ako ste ljubitelj League of Legends, ovo je prilika za vas da testirate League of Legends. Imajte na umu da je LOL podržan na PlayOnLinux ako ste kori...
Instalirajte najnoviju strategiju igre OpenRA na Ubuntu Linux
OpenRA je Libre / Free Real Time strateški pokretač igre koji stvara rane Westwoodove igre poput klasične Command & Conquer: Red Alert. Distribuirani ...
Instalirajte najnoviji Dolphin Emulator za Gamecube i Wii na Linux
Dolphin Emulator omogućuje vam igranje odabranih Gamecube i Wii igara na Linux osobnim računalima (PC). Dolphin Emulator je slobodno dostupan i emula...