Ja informācijas sūtīšanai un saņemšanai izmantojāt digitālo ierīci, esat izmantojis API. Izstrādātāji izveido API, lai lietotāji varētu mijiedarboties ar datiem no savām lietojumprogrammām.
REST API izveide ir ērts informācijas apmaiņas veids. REST API ir definēti standarti, kas regulē datu koplietošanu starp ierīcēm. Lai saprastu, kā darbojas REST API, varat to izveidot no jauna.
Varat izmantot Django REST ietvaru, lai izveidotu REST API un izmantotu to datu attēlošanai no datu bāzes.
Django izmantošana ar REST API
Jūs varat izmantojiet REST API, lai iegūtu strukturētus datus izmantojot HTTP. Tāpat kā daudzas valodas un ietvari, arī Django ļauj jums izveidot savu API un patērēt citus.
Jums jābūt arī iepriekš instalētam:
- Jaunākā python versija.
- Jaunākā pip versija.
- Pipenv (lai gan, ja vēlaties, varat izmantot venv.)
- Jaunākā Django versija.
Kad esat instalējis visu nepieciešamo programmatūru, varat sākt.
1. Instalējiet Django REST Framework
Django REST ietvars ir spēcīgs rīku komplekts, ko varat izmantot, lai izveidotu un konfigurētu tīmekļa API. Tā pielāgojamās funkcijas padara to par populāru izvēli, lai izveidotu REST API.
Jūs varat instalēt Django REST ietvaru ar šādu komandu:
pipenv uzstādīt djangorestframework
2. Izveidojiet lietotni Django
Tālāk sniegtie norādījumi paskaidros, kā izveidot pārtikas lietojumprogrammu, lai apkopotu populāru Kenijas ēdienu nosaukumus un aprakstus. API iegūs pieprasījumus no datu bāzes, lai lietotāji varētu mijiedarboties ar šiem datiem.
Django lietotnes ir aprīkotas ar SQLite datu bāzi, tāpēc jums nav jāinstalē cita datu bāze.
Lai izveidotu Django lietotni, vispirms izveidojiet projektu ar nosaukumu ēdiens ar šādu komandu:
django-admin startprojekta ēdiens
Pēc tam izveidojiet Django lietotni ar nosaukumuKenijas ēdiens:
django-admin startapp kenyanfood
3. Reģistrējiet lietotnes projekta iestatījumus
ReģistrējietiesKenijas ēdienslietotni projekta iestatījumos zem INSTALTĒTAS LIETOTNES masīvs. Ja izlaidīsit šo darbību, Django neatpazīs lietotni. Reģistrējiet arī Django REST ietvaru tajos pašos iestatījumos:
# Lietojumprogrammas definīcija
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'Kenijas ēdiens',
'rest_framework',
]
4. Reģistrējiet lietotņu vietrāžus URL
Reģistrēties Kenijas ēdiens lietotņu vietrāži URL projektā urls.py failu, kā parādīts zemāk:
no django.contrib imports admin
no django.urls imports ceļš, ietver
urlpatterns = [
ceļš ('admin/', admin.site.urls),
ceļš ('', ietver('kenyanfood.urls')),
]
5. Izveidojiet skatu API
Lietotnē izveidojiet fiktīvu skatu views.py failu, lai lietotne neradītu kļūdas. Pirmkārt, importējiet Atbilde iebilst un@apiview dekorators no Django REST ietvara.
Atbilde palīdz atgriezt sterilizētos datus JSON formātā, kamēr @apiview parāda API.
no django.shortcuts imports renderēt
no rest_framework.response imports Atbilde
no rest_framework.decorators imports api_view
# Izveidojiet savus skatus šeit.
@api_view(['GŪT'])
defsaņemtFood(pieprasījums):
atgriezties Atbilde ()
6. Izveidojiet lietotnes URL ceļu
Izveidotajam API skatam izveidojiet URL ceļu. Šis beigu punkts parāda Kenijas ēdiensdatus.
no django.urls imports ceļš
no. imports skatījumi
no django.conf imports iestatījumi
urlpatterns = [
ceļš ('', views.getFood),
ceļš ('post/', views.postFood),
]
7. Izveidojiet lietotnes modeli
Lietojumprogrammas modeļa klase tiek saukta Ēdiens. Tam vajadzētu izskatīties šādi:
no django.db imports modeļiem
# Izveidojiet savus modeļus šeit.
klasēĒdiens(modeļi. Modelis):
nosaukums = modeļi. CharField (max_length=200)
apraksts = modeļi. CharField (max_length=500)
Reģistrējiet modeli lietotnē admin.py failu, kā parādīts zemāk:
no django.contrib imports admin
no .modeļi imports Ēdiens
# Reģistrējiet savus modeļus šeit.
admin.vietne.reģistrēties(Ēdiens)
8. Veiciet migrāciju
Nākamais, migrēt lietotne, lai izveidotu tabulas SQLite datu bāze. To var izdarīt, izmantojot šādu komandu:
pitonspārvaldīt.pyveic migrācijasKenijas ēdiens
Pēc tam izmantojiet šīs migrācijas, izpildot šo komandu:
pitonspārvaldīt.pymigrēt
Veiksmīga migrācija izskatīsies šādi:
Veiksmīga migrācija nozīmē, ka datu bāzē ir izveidotas tabulas Kenijas ēdiensApp.
9. Pievienojiet datus datu bāzei
Izmantojiet Django administrators GUI datu ievadīšanai datu bāzē. Django administrators ir lielisks interfeiss, lai vizualizētu un pārvaldītu jūsu lietojumprogrammas datus.
Varat arī izmantot python apvalku komandrindā, lai manuāli ievadītu datus datu bāzē. Šajā rokasgrāmatā jūs izmantosit Django administratora saskarni.
Izmantojiet šo komandu, lai iestatītu Django admin:
pitonspārvaldīt.pyizveidot superlietotāju
Kad tiek prasīts, ievadiet savu lietotājvārds, e-pasts un parole. Pēc tam varat atvērt administratora lapu, izmantojot tālāk norādīto saiti:
http://127.0.0.1:8000/admin/
Jūs redzēsiet pieteikšanās lapu:
Kad esat pieteicies, jūs redzēsit Django administrēšanas saskarni ar Grupas un Lietotāji modelis. Tie abi ir paredzēti autentifikācijai; uz Ēdiens modelis ir zemāk esošajā sadaļā.
Varat pievienot un dzēst Ēdiens vienumus no datu bāzes no administratora lapas. Pievienojiet datubāzei dažas Kenijas delikateses, piemēram, Ugali, Pilau un Chai.
Tagad, kad datu bāzē ir dati, izveidojiet API
10. Serializējiet modeli
Serializētāji konvertēt sarežģītus Django modeļus uz JSON objektus, padarot datus viegli nolasāmus API. Serializēšana padara datus labāk lasāmus API.
Izveidojiet jaunu failu lietotnē ar nosaukumu serializer.py
no rest_framework imports seriālisti
no .modeļi imports Ēdiens
klasēFoodSerializer(seriālizatori. ModelSerializer):
klasēMeta:
model=Ēdiens
lauki=('nosaukums','apraksts')
Jūs importējat seriālisti modulis no rest_framework iesaiņot un izveidot a FoodSerializer klase, kas manto no ModelSerializer klasē.
Pēc tam norādiet Ēdiens modeli, kuru vēlaties serializēt, un laukus, kurus vēlaties pievienot API.
11. Atjauniniet skatu
Pēc tam atjauniniet API skatu ar seriālizators un Ēdiens modeļiem.
Pirmkārt, definējiet a GŪT metode, lai izgūtu visus datus no datu bāzes Ēdiens. Objects.all() funkciju. Pēc tam serializējiet datus un atgrieziet tos kā atbildi JSON formātā.
no django.shortcuts imports renderēt
no rest_framework.response imports Atbilde
no rest_framework.decorators imports api_view
no .modeļi imports Ēdiens
no .serializer imports FoodSerializer
# Izveidojiet savus skatus šeit.
@api_view(['GŪT'])
defsaņemtFood(pieprasījums):
ēdiens = Food.objects.all()
serializer = FoodSerializer (pārtika, daudz =Taisnība)
atgriezties Atbilde (serializer.data)
Pēc tam dodieties uz servera URL saiti:
https://127.0.0.1:8000/
Jūs redzēsit API, kas parāda datus no datu bāzes:
Apsveicam! Jūs esat izveidojis REST API!
12. Pievienojiet datus, izmantojot POST metodi
Pārbaudiet, vai varat izmantot REST API, lai datu bāzei pievienotu datus.
Pirmkārt, definējiet a POSTĪT metode skatā.
@api_view(['POSTĪT'])
defpostFood(pieprasījums):
serializer = FoodSerializer (data=request.data)
jaseriālizators.ir derīgs():
seriālizators.saglabāt()
atgriezties Atbilde (serializer.data)
Pēc tam lietotnē pievienojiet ceļu urls.py lai izveidotu API galapunktu POSTĪT funkcionalitāte.
urlpatterns = [
ceļš ('',views.getFood),
ceļš ('post/',views.postFood),
]
Pēc tam pārejiet uz šo URL:
https://127.0.0.1:8000/post
Jūs redzēsiet POSTĪT galapunkts. Pievienojiet datus datu bāzei JSON formātā Saturs sadaļu un noklikšķiniet uz POSTĪT pogu. Piemēram, pievienojiet jaunu pārtikas produktu ar šādu struktūru:
{ "nosaukums":"Maziwa mala", "apraksts":"Skābpiens" }
Dati tiks parādīti sarkanā krāsā JSON formātā.
Tagad, ja pāriesit atpakaļ uz GŪT galapunkts http://127.0.0.1:8000/, jūs redzēsit ēdienuMaziwa mala,' un tās apraksts pievienots.
Tagad jums ir REST API, kas var parādīt un pievienot vienumus lietojumprogrammai. Kā būtu eksperimentēt ar citiem CRUD metodes? Strādājot ar ATJAUNINĀT un DZĒST metodes palielinās jūsu REST API funkcionalitāti.
Kā izveidot REST API, izmantojot Django
Tagad varat izveidot REST API, izmantojot Django. Vispirms izveidojiet lietotni ar modeli, serializējiet datus un izveidojiet skata funkciju. Pēc tam iekļaujiet URL galapunktus, lai vizualizētu datus JSON formātā.
REST API izveide ar Django REST ietvaru ir ērts veids, kā koplietot datus un sniegt lietotājiem lielisku klientu pieredzi.