Predpoklady:
Pred precvičením scenára tohto tutoriálu musíte splniť nasledujúce úlohy.
- Nainštalujte si Django verzie 3+ na Ubuntu 20+ (najlepšie)
- Vytvorte projekt Django
- Spustením servera Django skontrolujte, či server funguje správne alebo nie.
Inštalácia aplikácie Django pre serializátory:
Spustením nasledujúceho príkazu vytvorte aplikáciu Django s názvom serialapp.
$ python3 spravovať.py startapp serialappSpustením nasledujúceho príkazu vytvorte používateľa pre prístup k databáze Django. Ak ste používateľa vytvorili už predtým, nemusíte tento príkaz spúšťať.
$ python3 spravovať.py vytvorí superužívateľaSpustením nasledujúceho príkazu nainštalujte Django REST Framework.
$ pip3 nainštalovať djangorestframeworkPridajte rest_framework a názov aplikácie do súboru INSTALLED_APP časť nastavenie.py spis.
INSTALLED_APPS = [… .
'rest_framework',
'serialapp'
]
Vytvorte model pre databázovú tabuľku:
Otvor modely.py súbor z serialapp priečinok a pridajte nasledujúci skript, ktorý definuje štruktúru priečinka zákazníkov stoly. Zákazník triedy je definované na vytvorenie tabuľky s názvom zákazníkov s meno, adresa, e-mail, kontaktné č, a vytvorené polia. Tu, meno, email, a kontakt_č polia budú ukladať údaje znakov, adresa pole uloží textové údaje a vytvorené pole uloží dáta DateTime.
modely.py
# Importujte modul modelyod djanga.db import modely
# Definujte triedu modelu pre tabuľku zákazníkov
trieda Zákazník (modely.Model):
meno = modely.CharField (max_length = 100)
adresa = modely.Textové pole()
email = modely.CharField (max_length = 50)
contact_no = modely.CharField (max_length = 20)
vytvorené = modely.DateTimeField (auto_now_add = True)
Spustiť makemigrácie príkaz na vytvorenie novej migrácie na základe zmien vykonaných modelmi.
$ python3 spravovať.py makemigrations serialappSpustiť migrovať príkaz na vykonanie príkazov SQL a vytvorenie všetkých tabuliek v databáze definovanej v modely.py spis.
$ python3 spravovať.py migrovaťUpraviť obsah admin.py súbor s nasledujúcim obsahom. Tu, zákazník trieda modelov sa registruje pomocou register () metóda zobrazenia zákazníkov tabuľky na administračnom paneli Django.
admin.py
# Importovať modul správcuod djanga.sk prispieť import
# Importujte model zákazníka
od .modely importujú zákazníka
# Zaregistrujte model zákazníka
admin.stránky.zaregistrovať sa (zákazník)
adresy URL.py
od djanga.cesta importu adries URLod djanga.sk prispieť import
urlpatterns = [
# Definujte cestu pre administrátora
cesta ('admin /', admin.stránky.adresy URL),
]
Pridajte záznamy do tabuľky:
Otvorte stránku Správa Django a pridajte nejaké záznamy do priečinka zákazníkov tabuľka zobrazená prehliadaču vo formáte JSON. Tu boli vložené tri záznamy.
Upravte zobrazenia.py:
Otvor názory.py súbor z serialapp a nahraďte obsah nasledujúcim skriptom. Zoznam zákazníkov trieda je definovaná na serializáciu všetkých záznamov zákazníkov a vrátenie údajov do prehľadávača vo formáte JSON. CustomerDetail trieda je definovaná tak, aby serializovala konkrétny záznam zákazníka na základe hodnoty ID a vrátila údaje prehliadača vo formáte JSON. CustomerSerializer je súbor serializátorov, ktorý bol vytvorený v ďalšej časti tohto tutoriálu.
názory.py
# Importujte generiká z Django REST Frameworkz generických rest_framework importov
# Import zákazníckeho modelu
od .modely importujú zákazníka
# Importovať CustomerSerializer z serializátorov
od .serializátory importujú CustomerSerializer
# Definujte triedu na prevod všetkých záznamov tabuľky zákazníkov do formátu JSON
trieda CustomerList (generiká.ListCreateAPIView):
queryset = Zákazník.predmety.všetko ()
serializer_class = CustomerSerializer
# Definujte triedu na prevod konkrétneho záznamu tabuľky zákazníkov do formátu JSON
trieda CustomerDetail (generiká.RetrieveUpdateDestroyAPIView):
queryset = Zákazník.predmety.všetko ()
serializer_class = CustomerSerializer
Vytvoriť serializátor:
Vytvoriť serializátory.py súbor na rovnakom mieste ako názory.py súbor s nasledujúcim skriptom. ModelSerializer trieda sa tu používa na vytvorenie CustomerSerializer trieda, ktorá vracia triedu serializátorov s poľami modelu zákazníka. Polia modelu zákazníka, ktoré sa prevedú do formátu JSON, sú uvedené v Meta trieda.
serializátory.py
# Import modulu serializátorov z Django REST Frameworkz rest_framework importujte serializátory
# Import zákazníckeho modelu
od .modely importujú zákazníka
# Definujte triedu vlastných serializátorov na prevod polí modelu zákazníka na JSON
trieda CustomerSerializer (serializátory.ModelSerializer):
trieda Meta:
model = zákazník
fields = ('id', 'name', 'address', 'email', 'contact_no')
Upravte adresy URL.súbor py:
Upraviť obsah adresy URL.py súbor s nasledujúcim skriptom. V scenári sazákazníci /"cesta je definovaná na zobrazenie všetkých záznamov zákazníkov tabuľka vo formáte JSON a znak „zákazníci /
adresy URL.py
# Importovať modul správcuod djanga.sk prispieť import
# Importovať cestu a zahrnúť modul
od djanga.cesta importu adries URL
# Importujte zobrazenia
zo zobrazení importu serialapp
# Import format_suffix_patterns z Django REST Framework
z rest_framework.urlpatterns import format_suffix_patterns
urlpatterns = [
# Definujte cestu pre administrátora
cesta ('admin /', admin.stránky.adresy URL),
# Definujte cestu na získanie všetkých údajov o zákazníkoch vo formáte JSON
cesta („zákazníci /“, zobrazenia.Zoznam zákazníkov.as_view ()),
# Definujte cestu na získanie konkrétnych údajov o zákazníkoch na základe ID vo formáte JSON
cesta ('customers //', views.CustomerDetail.as_view ()),
]
urlpatterns = format_suffix_patterns (urlpatterns)
Ak sa vykoná nasledujúca adresa URL, všetky záznamy tabuľky zákazníkov sa zobrazia vo formáte JSON.
http: // localhost: 8000 / zákazníci
Ak sa vykoná nasledujúca adresa URL, záznam druhého zákazníka sa zobrazí vo formáte JSON.
http: // localhost: 8000 / customers / 2
Záver:
Použitie serializátorov v aplikácii Django na prevedenie inštancie modelu do formátu JSON sa v tomto výučbe ukázalo pomocou jednoduchého skriptu. Používatelia Django pochopia účel použitia serializátorov a v prípade potreby ich použijú vo svojej aplikácii po prečítaní tohto tutoriálu.