Edellytykset:
Ennen tämän opetusohjelman komentosarjan käyttämistä sinun on suoritettava seuraavat tehtävät.
- Asenna Django-versio 3+ Ubuntu 20+ -käyttöjärjestelmään (mieluiten)
- Luo Django-projekti
- 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 serialappSuorita 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 djangorestframeworkLisää 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 mallimoduulialkaen 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 serialappSuorita 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 hallintamoduulialkaen 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 tuontipolkualkaen 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 Frameworkistaalkaen 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/
URL-osoitteet.py
# Tuo hallintamoduulialkaen 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.