Jei informacijai siųsti ir gauti naudojote skaitmeninį įrenginį, naudojote API. Kūrėjai kuria API, kad vartotojai galėtų sąveikauti su duomenimis iš savo programų.
REST API sukūrimas yra patogus būdas dalytis informacija. REST API turi apibrėžtus standartus, reglamentuojančius dalijimąsi duomenimis tarp įrenginių. Norėdami suprasti, kaip veikia REST API, galite sukurti ją nuo nulio.
Galite naudoti Django REST sistemą, kad sukurtumėte REST API ir rodytumėte duomenis iš duomenų bazės.
Django naudojimas su REST API
Tu gali naudokite REST API, kad gautumėte struktūrinius duomenis per HTTP. Kaip ir daugelis kalbų ir sistemų, „Django“ leidžia kurti savo API ir naudoti kitas.
Taip pat turėtumėte iš anksto įdiegti šiuos dalykus:
- Naujausia python versija.
- Naujausia pip versija.
- Pipenv (nors galite naudoti venv, jei norite).
- Naujausia Django versija.
Įdiegę visą būtiną programinę įrangą, būsite pasiruošę pradėti.
1. Įdiekite „Django REST Framework“.
Django REST sistema yra galingas įrankių rinkinys, kurį galite naudoti kurdami ir konfigūruodami žiniatinklio API. Dėl pritaikomų funkcijų jis yra populiarus pasirinkimas kuriant REST API.
„Django REST“ sistemą galite įdiegti naudodami šią komandą:
pipenv diegti djangorestframework
2. Sukurkite „Django“ programą
Šiose instrukcijose bus paaiškinta, kaip sukurti maisto programą, kad būtų galima surinkti populiarių Kenijos maisto produktų pavadinimus ir aprašymus. API gaus užklausas iš duomenų bazės, kad vartotojai galėtų sąveikauti su tais duomenimis.
„Django“ programose yra SQLite duomenų bazė, todėl jums nereikia diegti kitos duomenų bazės.
Norėdami sukurti „Django“ programą, pirmiausia sukurkite projektą pavadinimu maistas su tokia komanda:
django-admin startproject maistas
Tada sukurkite „Django“ programą, vadinamąKenijos maistas:
django-admin startapp kenyanfood
3. Užregistruokite programos projekto nustatymus
UžregistruokiteKenijos maistasprogramėlę projekto nustatymuose ĮDIEGtos PROGRAMOS masyvas. Jei praleisite šį veiksmą, „Django“ neatpažins programos. Taip pat užregistruokite „Django REST“ sistemą tuose pačiuose nustatymuose:
# Programos apibrėžimas
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'Kenijos maistas',
'poilsio_rėmas',
]
4. Užregistruokite programos URL
Registruotis Kenijos maistas projekte esančių programų URL urls.py failą, kaip parodyta žemiau:
iš django.contrib importuoti admin
iš django.urls importuoti kelias, įtraukti
urlpatterns = [
kelias ('admin/', admin.site.urls),
kelias ('', įtraukti ('kenyanfood.urls')),
]
5. Sukurkite API rodinį
Programoje sukurkite netikrą rodinį views.py failą, todėl programėlė neišmes klaidų. Pirma, importuokite Atsakymas prieštarauti ir@apiview dekoratorius iš Django REST karkaso.
Atsakymas padeda grąžinti sterilizuotus duomenis JSON formatu, o @apiview rodo API.
iš django.shortcuts importuoti pateikti
iš rest_framework.response importuoti Atsakymas
iš rest_framework.decorators importuoti api_view
# Sukurkite savo rodinius čia.
@api_view(['GAUTI'])
defgautiFood(užklausa):
grąžinti Atsakymas ()
6. Sukurkite programos URL kelią
Sukurkite sukurto API rodinio URL kelią. Šis galutinis taškas rodo Kenijos maistasduomenis.
iš django.urls importuoti kelias
iš. importuoti Peržiūros
iš django.conf importuoti nustatymus
urlpatterns = [
kelias ('', views.getFood),
kelias ('paštas/', views.postFood),
]
7. Sukurkite programos modelį
Programos modelio klasė vadinama Maistas. Tai turėtų atrodyti taip:
iš django.db importuoti modeliai
# Sukurkite savo modelius čia.
klasėMaistas(modeliai. Modelis):
pavadinimas = modeliai. CharField (maks._ilgis = 200)
aprašymas = modeliai. CharField (maks._ilgis = 500)
Užregistruokite modelį programėlėje admin.py failą, kaip parodyta žemiau:
iš django.contrib importuoti admin
iš .modeliai importuoti Maistas
# Užregistruokite savo modelius čia.
admin.svetainė.Registruotis(Maistas)
8. Atlikite migracijas
Kitas, migruoti programa, skirta lentelėms kurti SQLite duomenų bazėje. Tai galite padaryti naudodami šią komandą:
pitonasvaldyti.pydaro migracijasKenijos maistas
Tada pritaikykite šiuos perkėlimus vykdydami šią komandą:
pitonasvaldyti.pymigruoti
Sėkmingas perkėlimas atrodys taip:
Sėkmingas perkėlimas reiškia, kad duomenų bazė sukūrė lenteles Kenijos maistasProgramėlė
9. Pridėti duomenis į duomenų bazę
Naudoti Django administratorius GUI duomenims į duomenų bazę įvesti. Django administratorius turi puikią sąsają, leidžiančią vizualizuoti ir valdyti programos duomenis.
Arba galite naudoti python apvalkalą komandinėje eilutėje, kad rankiniu būdu įvestumėte duomenis į duomenų bazę. Šiame vadove naudosite „Django“ administratoriaus sąsają.
Norėdami nustatyti Django admin, naudokite šią komandą:
pitonasvaldyti.pysukurti supervartotoją
Kai būsite paraginti, įveskite savo vartotojo vardą, el. pašto adresą ir slaptažodį. Tada galite atidaryti administratoriaus puslapį naudodami toliau pateiktą nuorodą:
http://127.0.0.1:8000/admin/
Pamatysite prisijungimo puslapį:
Prisijungę pamatysite Django administravimo sąsają su Grupės ir Vartotojai modelis. Jie abu skirti autentifikavimui; į Maistas modelis yra žemiau esančiame skyriuje.
Galite pridėti ir ištrinti Maistas elementus iš duomenų bazės iš administratoriaus puslapio. Į duomenų bazę įtraukite keletą Kenijos skanėstų, tokių kaip Ugali, Pilau ir Chai.
Dabar, kai duomenų bazėje yra duomenų, sukurkite API
10. Serializuoti modelį
Serializatoriai konvertuoti sudėtingus Django modelius į JSON objektai, todėl duomenys lengvai nuskaitomi API. Serializavimas leidžia geriau skaityti duomenis API.
Sukurkite naują failą programoje, pavadintoje serializer.py
iš poilsio_rėmas importuoti serializatoriai
iš .modeliai importuoti Maistas
klasėFoodSerializer(serializatoriai. ModelSerializer):
klasėMeta:
modelis=Maistas
laukai=('vardas','apibūdinimas')
Jūs importuojate serializatoriai modulis iš poilsio_rėmas supakuoti ir sukurti a FoodSerializer klasė, kuri paveldima iš ModelSerializer klasė.
Toliau nurodykite Maistas modelį, kurį norite nuosekliai sudaryti, ir laukus, kuriuos norite įtraukti į API.
11. Atnaujinkite rodinį
Tada atnaujinkite API rodinį naudodami serializatorius ir Maistas modeliai.
Pirmiausia apibrėžkite a GAUTI būdas gauti visus duomenis iš duomenų bazės Maistas. Objects.all() funkcija. Tada suskirstykite duomenis ir grąžinkite juos kaip atsakymą JSON formatu.
iš django.shortcuts importuoti pateikti
iš rest_framework.response importuoti Atsakymas
iš rest_framework.decorators importuoti api_view
iš .modeliai importuoti Maistas
iš .serializer importuoti FoodSerializer
# Sukurkite savo rodinius čia.
@api_view(['GAUTI'])
defgautiFood(užklausa):
maistas = Maistas.objektai.visi()
serializer = FoodSerializer (maistas, daug =Tiesa)
grąžinti Atsakymas (serializer.data)
Tada eikite į serverio URL nuorodą:
https://127.0.0.1:8000/
Pamatysite API, rodančią duomenis iš duomenų bazės:
Sveikiname, sukūrėte REST API!
12. Pridėkite duomenis naudodami POST metodą
Patikrinkite, ar galite naudoti REST API duomenims į duomenų bazę įtraukti.
Pirmiausia apibrėžkite a PAST metodas vaizde.
@api_view(['PAST'])
defpostMaistas(užklausa):
serializer = FoodSerializer (data=request.data)
jeiguserializatorius.galiojantis():
serializatorius.sutaupyti()
grąžinti Atsakymas (serializer.data)
Tada programoje pridėkite kelią urls.py sukurti API galinį tašką PAST funkcionalumą.
urlpatterns = [
kelias ('',views.getFood),
kelias ('paštas/',views.postFood),
]
Tada eikite į šį URL:
https://127.0.0.1:8000/post
Pamatysite PAST galutinis taškas. Įtraukite duomenis į duomenų bazę JSON formatu Turinys skyrių ir spustelėkite PAST mygtuką. Pavyzdžiui, pridėkite naują maisto produktą su tokia struktūra:
{ "vardas":"Maziwa mala", "apibūdinimas":"Rūgštus pienas" }
Duomenys rodomi raudonai JSON formatu.
Dabar, jei grįšite į GAUTI galutinis taškas http://127.0.0.1:8000/, pamatysite maistąMaziwa mala“, ir jo aprašymas pridėtas.
Dabar turite REST API, kuri gali rodyti elementus ir pridėti prie programos. O kaip eksperimentuoti su kitais CRUD metodus? Dirbti su ATNAUJINTI ir IŠTRINTI metodai padidins jūsų REST API funkcionalumą.
Kaip sukurti REST API naudojant „Django“.
Dabar galite sukurti REST API naudodami „Django“. Pirmiausia sukurkite programą su modeliu, suskirstykite duomenis ir sukurkite peržiūros funkciją. Tada įtraukite URL galutinius taškus, kad galėtumėte vizualizuoti duomenis JSON formatu.
REST API kūrimas naudojant „Django REST“ sistemą yra patogus būdas dalytis duomenimis ir suteikti vartotojams puikią klientų patirtį.