Django

Kuinka käyttää Django Serializer -laitteita

Kuinka käyttää Django Serializer -laitteita
Serializeria käytetään Djangossa malliesimerkkien tai kyselyjoukkojen muuntamiseen python-tuetuiksi tietotyypeiksi, jotka voidaan tehdä helposti JSON-, XML- tai muuhun muotoon. Deserialisaatio voidaan tehdä myös sarjatuottajilla alkuperäisten tietojen palauttamiseksi sarjoitetuista tiedoista. Tämä ominaisuus on käytettävissä Django REST Frameworkissa. Joten käyttäjien on asennettava tämä kehys voidakseen käyttää serialisaattoreita. Mikä tahansa verkkosivuston verkkosivu voi sisältää HTML: ää, CSS: ää ja tietoja tietokantataulukoista. Mutta API ei ymmärrä tämäntyyppistä sisältöä, ja se voi ymmärtää vain raakatiedot eli JSON-tiedot. Tässä sarjaoppaassa on esitetty, miten sarjaliitäntöjä voidaan käyttää malliesimerkin muuntamiseen JSON-muotoon.

Edellytykset:

Ennen tämän opetusohjelman komentosarjan käyttämistä sinun on suoritettava seuraavat tehtävät.

  1. Asenna Django-versio 3+ Ubuntu 20+ -käyttöjärjestelmään (mieluiten)
  2. Luo Django-projekti
  3. Suorita Django-palvelin varmistaaksesi, että palvelin toimii oikein.

Määritä Django-sovellus sarjatuottajille:

Suorita seuraava komento luoda Django-sovellus nimeltä serialapp.

$ python3 hallita.py startapp serialapp

Suorita seuraava komento, jos haluat luoda käyttäjän Django-tietokantaan. Jos olet luonut käyttäjän aiemmin, sinun ei tarvitse suorittaa komentoa.

$ python3 hallita.py luo ylikäyttäjä

Asenna Django REST Framework suorittamalla seuraava komento.

$ pip3 asenna djangorestframework

Lisää rest_framework ja sovelluksen nimi INSTALLED_APP osa asetukset.py tiedosto.

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

Luo malli tietokantataulukolle:

Avaa malleja.py tiedosto serialapp -kansio ja lisää seuraava komentosarja määrittelemään kansion rakenne Asiakkaat taulukoita. Asiakas luokka määritellään luomaan taulukko nimeltä Asiakkaat kanssa nimi, osoite, sähköpostiosoite, kontakti_nro, ja luotu kentät. Tässä, nimi, sähköpostiosoite, ja kontakti_no kentät tallentavat merkkitiedot, osoite kenttä tallentaa tekstitiedot ja luotu -kenttään tallennetaan DateTime-tiedot.

malleja.py

# Tuo mallimoduuli
alkaen django.db-tuontimallit
# Määritä asiakastaulukon malliluokka
luokan asiakas (mallit.Malli):
nimi = mallit.CharField (enimmäispituus = 100)
osoite = mallit.Tekstikenttä()
sähköposti = mallit.CharField (enimmäispituus = 50)
contact_no = mallit.CharField (enimmäispituus = 20)
luotu = mallit.DateTimeField (auto_now_add = True)

Suorita muuttoliikkeet komento luoda uusi siirto mallien tekemien muutosten perusteella.

$ python3 hallita.py makemigrations serialapp

Suorita siirtyä komento suorittaa SQL-komennot ja luoda kaikki taulukot määritetyssä tietokannassa malleja.py tiedosto.

$ python3 hallita.py siirtyä

Muokkaa sisältöä admin.py tiedosto, jolla on seuraava sisältö. Tässä, asiakas mallien luokka rekisteröidään käyttämällä rekisteri() menetelmä näyttää Asiakkaat taulukot Djangon hallinnon hallintapaneelissa.

admin.py

# Tuo hallintamoduuli
alkaen django.contrib tuonti järjestelmänvalvoja
# Tuo asiakasmalli
alkaen .mallit tuovat asiakasta
# Rekisteröi asiakasmalli
admin.sivusto.rekisteröidy (asiakas)

URL-osoitteet.py

alkaen django.URL-osoitteiden tuontipolku
alkaen django.contrib tuonti järjestelmänvalvoja
urlpatterns = [
# Määritä järjestelmänvalvojan polku
polku ('admin /', admin.sivusto.URL-osoitteet),
]

Lisää tietueita taulukkoon:

Avaa Django Administration -sivu ja lisää joitain tietueita Asiakkaat taulukko näytetään selaimelle JSON-muodossa. Tähän on lisätty kolme tietuetta.

Muokkaa näkymiä.py:

Avaa näkymät.py tiedosto serialapp ja korvaa sisältö seuraavalla komentosarjalla. Asiakasluettelo luokka on määritelty järjestämään kaikki asiakkaiden tietueet ja palauttamaan tiedot selaimeen JSON-muodossa. Asiakkaan tiedot luokka on määritelty järjestämään tietty asiakastietue ID-arvon perusteella ja palauttamaan selaimen tiedot JSON-muodossa. CustomerSerializer on serializer-tiedosto, joka on luotu tämän opetusohjelman seuraavassa osassa.

näkymät.py

# Tuo geneerisiä aineita Django REST -kehyksestä
from rest_framework tuonti geneeriset
# Tuo asiakasmalli
alkaen .mallit tuovat asiakasta
# Tuo CustomerSerializer serializerista
alkaen .sarjatuottajat tuovat CustomerSerializerin
# Määritä luokka muuntamaan kaikki asiakastaulukon tietueet JSONiksi
luokan asiakaslista (yleiset.ListCreateAPIView):
queryset = Asiakas.esineitä.kaikki()
serializer_class = CustomerSerializer
# Määritä luokka, jos haluat muuntaa tietyn asiakastaulukon tietueen JSONiksi
luokka CustomerDetail (yleiset.RetrieveUpdateDestroyAPIView):
queryset = Asiakas.esineitä.kaikki()
serializer_class = CustomerSerializer

Luo Serializer:

Luoda sarjatuottajat.py tiedosto samassa paikassa näkymät.py tiedosto seuraavalla komentosarjalla. ModelSerializer luokkaa käytetään tässä luomiseen CustomerSerializer luokka, joka palauttaa sarjanumeroluokan asiakasmallin kentillä. Asiakasmallikentät, jotka muunnetaan JSON-muotoon, mainitaan Meta luokassa.

sarjatuottajat.py

# Tuo serializer-moduuli Django REST Frameworkista
alkaen rest_framework-tuonti-sarjasta
# Tuo asiakasmalli
alkaen .mallit tuovat asiakasta
# Määritä mukautetut sarjataulukot muuntamaan asiakasmallikentät JSONiksi
luokka CustomerSerializer (sarjaliitännät.ModelSerializer):
luokka Meta:
malli = asiakas
fields = ('id', 'name', 'address', 'email', 'contact_no')

Muokkaa URL-osoitteita.py-tiedosto:

Muokkaa sisältöä URL-osoitteet.py tiedosto seuraavalla komentosarjalla. KäsikirjoituksessaAsiakkaat/'polku on määritetty näyttämään kaikki Asiakkaat taulukko JSON-muodossa jaAsiakkaat//'polku on määritetty näyttämään tietyt Asiakkaat taulukko JSON-muodossa ID-arvon perusteella.

URL-osoitteet.py

# Tuo hallintamoduuli
alkaen django.contrib tuonti järjestelmänvalvoja
# Tuo polku ja sisällytä moduuli
alkaen django.URL-osoitteiden tuontipolku
# Tuo näkymät
serialapp-tuontinäkymistä
# Tuo format_suffix_patterns Django REST Frameworkista
from rest_framework.urlpatterns tuo format_suffix_patterns
urlpatterns = [
# Määritä järjestelmänvalvojan polku
polku ('admin /', admin.sivusto.URL-osoitteet),
# Määritä polku kaikkien asiakastietojen saamiseksi JSON-muodossa
polku ('asiakkaat /', näkymät.Asiakasluettelo.as_view ()),
# Määritä polku tiettyjen asiakastietojen saamiseksi ID: n perusteella JSON-muodossa
polku ('asiakkaat //', näkymät.Asiakkaan tiedot.as_view ()),
]
urlpatterns = format_suffix_patterns (urlpatterns)

Kaikki asiakastaulukon tietueet näytetään JSON-muodossa, jos seuraava URL-osoite suoritetaan.

http: // localhost: 8000 / asiakasta

Toisen asiakkaan tietue näytetään JSON-muodossa, jos seuraava URL-osoite suoritetaan.

http: // localhost: 8000 / customers / 2

Päätelmä:

Sarjasoittimien käyttö Django-sovelluksessa malliesimerkin muuntamiseksi JSON-muotoon on osoitettu tässä opetusohjelmassa yksinkertaisen komentosarjan avulla. Djangon käyttäjät ymmärtävät serializerien käytön tarkoituksen ja soveltavat niitä tarvittaessa sovellukseensa luettuaan tämän opetusohjelman.

Viisi parasta ergonomista tietokonehiirtä Linux-tuotteille
Aiheuttaako pitkäaikainen tietokoneen käyttö kipua ranteessasi tai sormissasi?? Onko sinulla nivelten jäykkyys ja sinun on jatkuvasti ravistettava kät...
How to Change Mouse and Touchpad Settings Using Xinput in Linux
Most Linux distributions ship with “libinput” library by default to handle input events on a system. It can process input events on both Wayland and X...
Remap your mouse buttons differently for different software with X-Mouse Button Control
Maybe you need a tool that could make your mouse's control change with every application that you use. If this is the case, you can try out an applica...