Django

Hogyan kell használni a Django Serializer-t

Hogyan kell használni a Django Serializer-t
A Serializer-t a Django-ban használják, hogy a modellpéldányokat vagy lekérdezéseket python által támogatott adattípusokká alakítsák át, amelyek könnyen visszaadhatók JSON, XML vagy más formátumokba. A deszerializálást sorosítók is elvégezhetik, hogy visszaszerezzék az eredeti adatokat a sorosított adatokból. Ez a szolgáltatás a Django REST Framework-ben érhető el. Tehát a felhasználóknak telepíteniük kell ezt a keretrendszert a sorosítók használatához. A webhely bármely weboldala tartalmazhat HTML-t, CSS-t és az adatbázis-táblák adatait. De az API nem érti az ilyen típusú tartalmakat, és csak a nyers adatokat, vagyis a JSON-adatokat. Az oktatóanyag bemutatja, hogy a szerializátorok hogyan használhatók a modellpéldány JSON formátumba konvertálására.

Előfeltételek:

Az oktatóanyag szkriptjének gyakorlása előtt el kell végeznie a következő feladatokat.

  1. Telepítse a Django 3+ verziót az Ubuntu 20+ verzióra (lehetőleg)
  2. Hozzon létre egy Django projektet
  3. Futtassa a Django szervert annak ellenőrzésére, hogy a szerver megfelelően működik-e vagy sem.

Állítson be egy Django alkalmazást a sorosítók számára:

Futtassa a következő parancsot egy Django alkalmazás létrehozásához serialapp.

$ python3 kezelni.py startapp serialapp

Futtassa a következő parancsot a felhasználó létrehozásához a Django adatbázis eléréséhez. Ha korábban létrehozta a felhasználót, akkor nem kell futtatnia a parancsot.

$ python3 kezelni.py létrehozza a túlfelhasználót

Futtassa a következő parancsot a Django REST Framework telepítéséhez.

$ pip3 install djangorestframework

Adja hozzá a rest_framework és az alkalmazás nevét a INSTALLED_APP része a beállítások.py fájl.

INSTALLED_APPS = [
… .
'rest_framework',
„serialapp”
]

Hozzon létre egy modellt az adatbázis-táblához:

Nyissa meg a modellek.py fájl a serialapp mappát, és adja hozzá a következő parancsfájlt a struktúra meghatározásához ügyfelek táblázatok. Vevő osztály definiálva van egy tábla létrehozására ügyfelek val vel név, cím, e-mail, elérhetőség_szám, és létre mezők. Itt, név, e-mail cím, és Elérhetőség a mezők karakteradatokat tárolnak, a cím mező a szöveges adatokat tárolja, és létre mező a DateTime adatokat tárolja.

modellek.py

# Importálja a modellek modult
djangótól.db import modellek
# Határozza meg az ügyféltábla modellosztályát
osztály Ügyfél (modellek.Modell):
név = modellek.CharField (max_hossz = 100)
cím = modellek.TextField ()
email = modellek.CharField (max_hossz = 50)
contact_no = modellek.CharField (max_hossz = 20)
létrehozott = modellek.DateTimeField (auto_now_add = True)

Futtassa a makemigrációk parancsot egy új migráció létrehozására a modellek által végrehajtott változtatások alapján.

$ python3 kezelni.py makemigrations serialapp

Futtassa a vándorol parancs az SQL parancsok végrehajtására és az összes tábla létrehozására az modellek.py fájl.

$ python3 kezelni.py vándorolnak

Módosítsa a admin.py fájl a következő tartalommal. Itt, a vásárló a modellek osztályát a A regisztráció() módszer a ügyfelek táblázatok a Django adminisztráció irányítópultján.

admin.py

# Adminisztrációs modul importálása
djangótól.közreműködés import admin
# Importálja az ügyfél modellt
tól től .modellek importálják az Ügyfelet
# Regisztrálja az ügyfélmodellt
admin.webhely.regisztráció (Ügyfél)

URL-ek.py

djangótól.URL importálási útvonal
djangótól.közreműködés import admin
urlpatterns = [
# Adja meg az admin elérési útját
elérési út ('admin /', admin.webhely.URL-ek),
]

Rekordok hozzáadása a táblához:

Nyissa meg a Django Administration oldalt, és adjon hozzá néhány rekordot a ügyfelek táblázat jelenik meg a böngésző számára JSON formátumban. Itt három bejegyzés került beillesztésre.

Módosítsa a nézeteket.py:

Nyissa meg a nézetek.py fájl a serialapp és cserélje le a tartalmat a következő szkriptre. Ügyféllista osztály az összes ügyfelek nyilvántartásának sorosítása és az adatok JSON formátumban történő visszaadása a böngészőbe. CustomerDetail osztály az adott ügyfélrekord sorosítása az azonosító értéke alapján, és a böngésző adatainak visszaadása JSON formátumban. CustomerSerializer egy sorosító fájl, amelyet az oktatóanyag következő részében hoztak létre.

nézetek.py

# Generikumok importálása a Django REST keretrendszerből
a rest_framework import generikumokból
# Ügyfélmodell importálása
tól től .modellek importálják az Ügyfelet
# Importálja a CustomerSerializer-t a sorosítókból
tól től .a szerializálók importálják a CustomerSerializer programot
# Definiálja az osztályt, hogy az ügyfelek tábla összes rekordját JSON-vá alakítsa át
osztály Ügyféllista (általános.ListCreateAPIView):
queryset = Ügyfél.tárgyakat.minden()
serializer_class = CustomerSerializer
# Definiálja az osztályt, hogy az ügyféltábla adott rekordját JSON-vá konvertálja
osztály CustomerDetail (általános.RetrieveUpdateDestroyAPIView):
queryset = Ügyfél.tárgyakat.minden()
serializer_class = CustomerSerializer

Serializer létrehozása:

Teremt sorozatok.py fájl ugyanazon a helyen nézetek.py a következő szkriptet tartalmazó fájl. ModelSerializer osztályt használjuk itt létrehozásra CustomerSerializer osztály, amely a szerializáló osztályt adja vissza az Ügyfél modell mezőivel. A JSON formátumba konvertálandó ügyfélmodell mezőket a Meta osztály.

sorozatok.py

# Serializáló modul importálása a Django REST Framework programból
a rest_framework import sorosítókból
# Ügyfélmodell importálása
tól től .modellek importálják az Ügyfelet
# Adja meg az egyéni sorozatszám-osztályt az Ügyfélmodell mezők JSON-vá konvertálásához
osztály CustomerSerializer (sorosítók.ModelSerializer):
osztály Meta:
modell = Ügyfél
mezők = ('id', 'név', 'cím', 'e-mail', 'contact_no')

Módosítsa az URL-eket.py fájl:

Módosítsa a URL-ek.py a következő szkriptet tartalmazó fájl. A szkriptben aügyfelek /'elérési útja az. összes rekordjának megjelenítésére van meghatározva ügyfelek táblázat JSON formátumban, és a 'ügyfelek //'elérési út van meghatározva a ügyfelek táblázat JSON formátumban az azonosító értéke alapján.

URL-ek.py

# Adminisztrációs modul importálása
djangótól.közreműködés import admin
# Útvonal importálása és modul hozzáadása
djangótól.URL importálási útvonal
# Importálja a nézeteket
a serialapp import nézetekből
# Importálja a format_suffix_patterneket a Django REST Framework-ből
a rest_framework-től.Az urlpatterns importálja a format_suffix_patterns fájlt
urlpatterns = [
# Adja meg az admin elérési útját
elérési út ('admin /', admin.webhely.URL-ek),
# Határozza meg az összes ügyféladat JSON formátumban történő lekérésének útját
elérési út ('ügyfelek /', nézetek.Ügyféllista.as_view ()),
# Határozza meg az adott ügyféladatok elérési útját az azonosító alapján JSON formátumban
elérési út ('ügyfelek //', nézetek.CustomerDetail.as_view ()),
]
urlpatterns = format_suffix_patterns (urlpatterns)

Az ügyfelek tábla összes rekordja JSON formátumban jelenik meg, ha a következő URL végrehajtásra kerül.

http: // localhost: 8000 / ügyfelek

A második ügyfél rekordja JSON formátumban jelenik meg, ha a következő URL végrehajtódik.

http: // localhost: 8000 / customers / 2

Következtetés:

Ebben az oktatóanyagban a Django alkalmazásban szereplő szerializálók használata a modellpéldány JSON formátumra konvertálásához egy egyszerű szkript használatával mutat be. A Django-felhasználók megismerik a szerializálók használatának célját, és szükség esetén alkalmazhatják őket alkalmazásukban, miután elolvasták ezt az oktatóanyagot.

Telepítse a legújabb Dolphin Emulator for Gamecube & Wii szoftvert Linuxra
A Dolphin Emulator segítségével a kiválasztott Gamecube & Wii játékokat játszhatja Linux személyi számítógépeken (PC). Mivel a Dolphin Emulator szaba...
A GameConqueror Cheat Engine használata Linux alatt
A cikk tartalmaz egy útmutatót a GameConqueror csaló motor Linux alatt történő használatáról. Sok olyan felhasználó, aki Windows-on játszik játékot, g...
A legjobb játékkonzol emulátorok Linuxhoz
Ez a cikk felsorolja a Linux számára elérhető népszerű játékkonzol-emulációs szoftvereket. Az emuláció egy szoftver-kompatibilitási réteg, amely játék...