Előfeltételek:
Az oktatóanyag szkriptjének gyakorlása előtt el kell végeznie a következő feladatokat.
- Telepítse a Django 3+ verziót az Ubuntu 20+ verzióra (lehetőleg)
- Hozzon létre egy Django projektet
- 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 serialappFuttassa 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ótFuttassa a következő parancsot a Django REST Framework telepítéséhez.
$ pip3 install djangorestframeworkAdja 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 modultdjangó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 serialappFuttassa 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ándorolnakMó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ásadjangó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 útvonaldjangó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őla 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óla 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 /
URL-ek.py
# Adminisztrációs modul importálásadjangó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.