Eeldused:
Enne selle õpetuse skripti harjutamist peate täitma järgmised ülesanded.
- Installige Django versioon 3+ Ubuntu 20+ (eelistatult)
- Looge Django projekt
- Käivitage Django server, et kontrollida, kas server töötab korralikult või mitte.
Serialiseerijatele Django rakenduse seadistamine:
Django nimelise rakenduse loomiseks käivitage järgmine käsk serialapp.
$ python3 hallata.py startapp serialappKäivitage järgmine käsk, et luua kasutaja Django andmebaasile juurdepääsuks. Kui olete kasutaja varem loonud, ei pea te käsku käivitama.
$ python3 hallata.py loob ülikasutajaDjango REST Framework installimiseks käivitage järgmine käsk.
$ pip3 installige djangorestframeworkLisage faili rest_framework ja rakenduse nimi INSTALLED_APP osa seaded.py faili.
INSTALLED_APPS = [… .
'rest_framework',
'serialapp'
]
Looge andmebaasitabeli mudel:
Ava mudelid.py fail failist serialapp kaust ja lisage järgmise skripti struktuuri määratlemiseks klientidele tabelid. Klient klass on määratletud nimega tabeli loomiseks klientidele koos nimi, aadress, e-posti aadress, kontakti nr, ja loodud väljad. Siin, nimi, e-posti aadress, ja kontakti nr väljad salvestavad märkide andmed, aadress väli salvestab tekstiandmed ja loodud väli salvestab kuupäeva ja kellaaja andmed.
mudelid.py
# Impordi mudelite moodulalates django.db impordimudelid
# Määratlege klienditabeli mudeliklass
klassi klient (mudelid.Mudel):
nimi = mudelid.CharField (max_pikkus = 100)
aadress = mudelid.Tekstiväli()
email = mudelid.CharField (max_pikkus = 50)
contact_no = mudelid.CharField (max_pikkus = 20)
loodud = mudelid.DateTimeField (auto_now_add = True)
Käivitage makemigratsioonid käsk luua uus ränne mudelite tehtud muudatuste põhjal.
$ python3 hallata.py makemigrations serialappKäivitage rändama käsk SQL-i käskude käivitamiseks ja kõigi tabelite loomiseks andmebaasis määratletud andmebaasis mudelid.py faili.
$ python3 hallata.py rännataMuutke sisu admin.py järgmise sisuga fail. Siin, klient klassi mudelid registreeritakse, kasutades register () meetod klientidele tabelid Django halduse juhtpaneelil.
admin.py
# Impordi administraatori moodulalates django.kaastöö impordi admin
# Importige kliendi mudel
alates .mudelid impordivad klienti
# Registreerige kliendimudel
admin.sait.registreeru (klient)
URL-id.py
alates django.URL-ide importimise teealates django.kaastöö impordi admin
urlpatterns = [
# Määrake administraatori tee
tee ('admin /', admin.sait.URL-id),
]
Lisage tabelisse kirjed:
Avage leht Django Administration ja lisage mõned kirjed klientidele brauserile kuvatud tabel JSON-vormingus. Siia on lisatud kolm kirjet.
Muutke vaateid.py:
Ava vaated.py fail failist serialapp ja asendage sisu järgmise skriptiga. Kliendiloend klass on määratletud kõigi klientide kirjete järjestamiseks ja andmete tagastamiseks brauserisse JSON-vormingus. Kliendi üksikasjad klass on määratletud konkreetse kliendikirje järjestamiseks ID-väärtuse põhjal ja brauseri andmete tagastamiseks JSON-vormingus. CustomerSerializer on serialiseerimisfail, mis on loodud selle õpetuse järgmises osas.
vaated.py
# Importige geneerilisi aineid Django REST raamistikustalates rest_framework impordi üldised
# Importige kliendi mudel
alates .mudelid impordivad klienti
# Importige CustomerSerializer serialiseerijatest
alates .serialiseerijad impordivad CustomerSerializerit
# Määratlege klientide tabeli kõigi kirjete teisendamiseks JSON-i klass
klassi Kliendiloend (üldised.ListCreateAPIView):
queryset = klient.objektid.kõik ()
serializer_class = CustomerSerializer
# Defineerige klientide tabeli konkreetse kirje teisendamiseks JSON
klassi CustomerDetail (üldised.RetrieveUpdateDestroyAPIView):
queryset = klient.objektid.kõik ()
serializer_class = CustomerSerializer
Loo Serializer:
Loo serialiseerijad.py faili samas asukohas vaated.py fail järgmise skriptiga. ModelSerializer klassi kasutatakse siin loomiseks CustomerSerializer klass, mis tagastab seeriatootjate klassi kliendi mudeli väljadega. JSON-vormingusse teisendatavad kliendimudeli väljad on mainitud dokumendis Meta klass.
serialiseerijad.py
# Importige serialiseerimismoodul Django REST Frameworkistalates rest_framework impordi seerialiseerijad
# Importige kliendi mudel
alates .mudelid impordivad klienti
# Määratlege kliendi mudeli väljad JSON-iks teisendamiseks kohandatud seerialiseerijate klass
klassi CustomerSerializer (serialiseerijad.ModelSerializer):
klassi Meta:
mudel = klient
väljad = ('id', 'nimi', 'aadress', 'e-post', 'kontakt_no')
Muutke URL-e.py-fail:
Muutke sisu URL-id.py fail järgmise skriptiga. Skriptis onkliendid /"on määratletud kõigi kirjete kuvamiseks klientidele tabel JSON-vormingus ja 'kliendid /
URL-id.py
# Impordi administraatori moodulalates django.kaastöö impordi admin
# Impordi tee ja kaasake moodul
alates django.URL-ide importimise tee
# Importige vaated
serialappi impordivaadetest
# Importige Django REST raamistikust format_suffix_patterns
alates rest_framework.urlpatterns impordi format_suffix_patterns
urlpatterns = [
# Määrake administraatori tee
tee ('admin /', admin.sait.URL-id),
# Määratlege tee kõigi klientide andmete saamiseks JSON-vormingus
tee ('kliendid /', vaated.Kliendiloend.as_view ()),
# Määratlege ID-põhiste konkreetsete kliendiandmete hankimise tee JSON-vormingus
tee ('kliendid //', vaated.Kliendi üksikasjad.as_view ()),
]
urlpatterns = format_suffix_patterns (urlpatterns)
Kõiki klientide tabeli kirjeid kuvatakse JSON-vormingus, kui järgmine URL täidetakse.
http: // localhost: 8000 / klienti
Teise kliendi kirje kuvatakse JSON-vormingus, kui järgmine URL täidetakse.
http: // localhost: 8000 / customers / 2
Järeldus:
Serialisaatorite kasutamine Django rakenduses mudeli eksemplari teisendamiseks JSON-vormingusse on selles õpetuses näidatud lihtsa skripti abil. Django kasutajad saavad pärast selle õpetuse lugemist aru serialiseerijate kasutamise eesmärgist ja rakendavad neid vajadusel oma rakenduses.