Priekšnosacījumi:
Pirms praktizēt šīs apmācības skriptu, jums ir jāveic šādi uzdevumi.
- Instalējiet Django versiju 3+ Ubuntu 20+ (vēlams)
- Izveidojiet Django projektu
- Palaidiet Django serveri, lai pārbaudītu, vai serveris darbojas pareizi.
Django lietotnes iestatīšana serializētājiem:
Palaidiet šo komandu, lai izveidotu Django lietotni ar nosaukumu serialapp.
$ python3 pārvaldīt.py startapp serialappPalaidiet šo komandu, lai izveidotu lietotāju piekļuvei Django datu bāzei. Ja esat iepriekš izveidojis lietotāju, komanda nav jāpalaiž.
$ python3 pārvaldīt.py rada liellietotājuPalaidiet šo komandu, lai instalētu Django REST Framework.
$ pip3 instalējiet djangorestframeworkPievienojiet rest_framework un lietotnes nosaukumu INSTALLED_APP daļa no iestatījumi.py failu.
INSTALLED_APPS = [… .
'rest_framework',
'serialapp'
]
Izveidojiet datu bāzes tabulas modeli:
Atveriet modeļiem.py failu no serialapp mapi un pievienojiet šādu skriptu, lai definētu klientiem tabulas. Klients klase ir definēta, lai izveidotu tabulu ar nosaukumu klientiem ar vārds, adrese, e-pasts, kontakta_nr, un izveidots lauki. Šeit, vārds, e-pasts, un kontakta_nr laukos tiks saglabāti rakstzīmju dati, adrese laukā tiks glabāti teksta dati un izveidots laukā tiks saglabāti DateTime dati.
modeļiem.py
# Importējiet modeļu modulino django.db importēšanas modeļi
# Definējiet modeļu klasi klientu tabulai
klases klients (modeļi.Modelis):
nosaukums = modeļi.CharField (maks. Garums = 100)
adrese = modeļi.TextField ()
e-pasts = modeļi.CharField (maks. Garums = 50)
contact_no = modeļi.CharField (maks. Garums = 20)
izveidots = modeļi.DateTimeField (auto_now_add = True)
Palaidiet makemigrācijas komandu, lai izveidotu jaunu migrāciju, pamatojoties uz modeļu veiktajām izmaiņām.
$ python3 pārvaldīt.py makemigrations serialappPalaidiet migrēt komandu izpildīt SQL komandas un izveidot visas tabulas datu bāzē, kas definēta modeļiem.py failu.
$ python3 pārvaldīt.py migrētMainīt programmas saturu admin.py failu ar šādu saturu. Šeit, klients modeļu klase tiek reģistrēta, izmantojot reģistrs () metode, lai parādītu klientiem tabulas Django administrācijas informācijas panelī.
admin.py
# Importēt administratora modulino django.ieguldījuma importēšanas administrators
# Importējiet klienta modeli
no .modeļi importē klientu
# Reģistrējiet klienta modeli
admin.vietne.reģistrēties (klients)
URL.py
no django.URL importēšanas ceļšno django.ieguldījuma importēšanas administrators
urlpatterns = [
# Definējiet administratora ceļu
ceļš ('admin /', admin.vietne.URL),
]
Pievienojiet ierakstus tabulā:
Atveriet Django administrācijas lapu un pievienojiet dažus ierakstus klientiem tabula tiek parādīta pārlūkprogrammai JSON formātā. Šeit ir ievietoti trīs ieraksti.
Mainīt skatus.py:
Atveriet skati.py failu no serialapp un aizstājiet saturu ar šo skriptu. Klientu saraksts klase ir definēta, lai sērijveidotu visus klientu ierakstus un atgrieztu datus pārlūkprogrammā JSON formātā. CustomerDetail klase ir definēta, lai sērijveidotu konkrēto klienta ierakstu, pamatojoties uz ID vērtību, un atgrieztu pārlūka datus JSON formātā. CustomerSerializer ir serializer fails, kas ir izveidots šīs apmācības nākamajā daļā.
skati.py
# Importējiet vispārīgās zāles no Django REST Frameworkno rest_framework importēt vispārīgus
# Importēt klienta modeli
no .modeļi importē klientu
# Importējiet CustomerSerializer no serializētājiem
no .seriālizētāji importē CustomerSerializer
# Definējiet klasi, lai visus klientu tabulas ierakstus pārvērstu JSON
klases Klientu saraksts (vispārīgie.ListCreateAPIView):
queryset = Klients.objektiem.visi ()
serializer_class = CustomerSerializer
# Definējiet klasi, lai konkrēto klientu tabulas ierakstu pārveidotu par JSON
klase CustomerDetail (vispārīgie.RetrieveUpdateDestroyAPIView):
queryset = Klients.objektiem.visi ()
serializer_class = CustomerSerializer
Izveidot Serializer:
Izveidot seriālizatori.py failu tajā pašā vietā, kur skati.py failu ar šādu skriptu. ModelSerializer klase šeit tiek izmantota, lai izveidotu CustomerSerializer klase, kas atgriež serializētāju klasi ar klienta modeļa laukiem. Klienta modeļa lauki, kas tiks pārveidoti JSON formātā, ir minēti Meta klasē.
seriālizatori.py
# Importējiet seriālizatoru moduli no Django REST Frameworkno rest_framework importa seriālizētājiem
# Importēt klienta modeli
no .modeļi importē klientu
# Definējiet pielāgoto sērijveida ierīču klasi, lai klienta modeļa laukus pārveidotu par JSON
klases CustomerSerializer (seriālizētāji.ModelSerializer):
klase Meta:
modelis = klients
lauki = ('id', 'name', 'address', 'email', 'contact_no')
Mainīt URL.py fails:
Mainīt programmas saturu URL.py failu ar šādu skriptu. Skriptā “klienti /"ceļš ir noteikts, lai parādītu visus klientiem tabula JSON formātā unklienti /
URL.py
# Importēt administratora modulino django.ieguldījuma importēšanas administrators
# Importēt ceļu un iekļaut moduli
no django.URL importēšanas ceļš
# Importējiet skatus
no serialapp importēšanas skatiem
# Importējiet format_suffix_patterns no Django REST Framework
no rest_framework.urlpatterns importēt format_suffix_patterns
urlpatterns = [
# Definējiet administratora ceļu
ceļš ('admin /', admin.vietne.URL),
# Definējiet ceļu, kā iegūt visus klientu datus JSON formātā
ceļš ('klienti /', skatījumi.Klientu saraksts.as_view ()),
# Definējiet ceļu, lai iegūtu konkrētus klienta datus, pamatojoties uz ID, JSON formātā
ceļš ('klienti //', skati.CustomerDetail.as_view ()),
]
urlpatterns = format_suffix_patterns (urlpatterns)
Visi klientu tabulas ieraksti tiks parādīti JSON formātā, ja tiks izpildīts šāds URL.
http: // localhost: 8000 / klienti
Otrā klienta ieraksts tiks parādīts JSON formātā, ja tiks izpildīts šāds URL.
http: // localhost: 8000 / klienti / 2
Secinājums:
Serializatoru izmantošana Django lietojumprogrammā modeļa instances pārveidošanai JSON formātā ir parādīta šajā apmācībā, izmantojot vienkāršu skriptu. Pēc šīs apmācības izlasīšanas Django lietotāji sapratīs serizatoru izmantošanas mērķi un, ja nepieciešams, tos pielietos savā lietojumprogrammā.