Če ste za pošiljanje in prejemanje informacij uporabili digitalno napravo, ste uporabili API. Razvijalci ustvarjajo API-je, ki uporabnikom omogočajo interakcijo s podatki iz njihovih aplikacij.

Ustvarjanje API-ja REST je priročen način za skupno rabo informacij. API-ji REST so definirali standarde, ki urejajo izmenjavo podatkov med napravami. Če želite razumeti, kako delujejo API-ji REST, ga lahko zgradite iz nič.

Z ogrodjem Django REST lahko zgradite REST API in ga uporabite za prikaz podatkov iz baze podatkov.

Uporaba Djanga z API-jem REST

Ti lahko uporabite REST API za pridobivanje strukturiranih podatkov prek HTTP. Tako kot mnogi jeziki in ogrodja vam Django omogoča, da zgradite lasten API in uporabite druge.

Vnaprej morate imeti tudi naslednje:

  1. Najnovejša različica pythona.
  2. Najnovejša različica pip.
  3. Pipenv (čeprav lahko namesto tega uporabite venv, če želite.)
  4. Najnovejša različica Djanga.

Ko namestite vso osnovno programsko opremo, ste pripravljeni na začetek.

1. Namestite ogrodje Django REST

instagram viewer

Ogrodje Django REST je zmogljiv komplet orodij, ki ga lahko uporabite za gradnjo in konfiguracijo spletnih API-jev. Zaradi njegovih prilagodljivih funkcij je priljubljena izbira za gradnjo API-jev REST.

Ogrodje Django REST lahko namestite z naslednjim ukazom:

pipenv namestite djangorestframework

2. Ustvarite aplikacijo Django

Naslednja navodila bodo pojasnila, kako ustvariti aplikacijo za hrano za zbiranje imen in opisov priljubljenih kenijskih živil. API bo pridobil zahteve iz baze podatkov, da bo uporabnikom omogočil interakcijo s temi podatki.

Aplikacije Django so opremljene z bazo podatkov SQLitedatabase, tako da vam ni treba namestiti druge baze podatkov.

Če želite ustvariti aplikacijo Django, najprej ustvarite projekt z imenom hrano z naslednjim ukazom:

django-admin startproject hrana 

Nato ustvarite aplikacijo Django, imenovanokenyanfood:

django-admin startapp kenyanfood

3. Registrirajte nastavitve projekta aplikacije

Registrirajte sekenyanfoodaplikacijo v nastavitvah projekta pod NAMEŠČENE APLIKACIJE niz. Če preskočite ta korak, Django ne bo prepoznal aplikacije. Prav tako registrirajte ogrodje Django REST v istih nastavitvah:

# Definicija aplikacije

INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'kenyanfood',
'rest_framework',
]

4. Registrirajte URL-je aplikacij

Registrirajte se kenyanfood URL-ji aplikacij v projektu urls.py datoteko, kot je prikazano spodaj:

od django.contrib uvoz admin
od django.urls uvoz pot, vključite

urlvzorci = [
pot('admin/', admin.site.urls),
pot('', vključi('kenyanfood.urls')),
]

5. Ustvarite pogled za API

Ustvarite navidezni pogled v aplikaciji views.py datoteko, tako da aplikacija ne vrže napak. Najprej uvozite Odziv objektand@apiview dekorater iz ogrodja Django REST.

Odziv pomaga vrniti sterilizirane podatke JSON format, medtem ko je @apiview prikaže API.

od django.shortcuts uvoz upodabljati
od rest_framework.response uvoz Odziv
od rest_framework.decorators uvoz api_view

# Tukaj ustvarite svoje poglede.
@api_view(['DOBITI'])
defgetFood(prošnja):
vrnitev odgovor()

6. Ustvarite URL pot za aplikacijo

Ustvarite pot URL za pogled API, ki ste ga ustvarili. Ta končna točka prikazuje kenyanfoodpodatke.

od django.urls uvoz pot
od. uvoz pogledi
od django.conf uvoz nastavitve

urlvzorci = [
pot('', views.getFood),
pot('post/', views.postFood),
]

7. Ustvarite model za aplikacijo

Pokliče se razred modela aplikacije hrana. Videti bi moralo takole:

od django.db uvoz modeli

# Ustvarite svoje modele tukaj.
razredhrana(modeli. model):
ime = modeli. CharField (max_length=200)
opis = modeli. CharField (max_length=500)

Registrirajte model v aplikaciji admin.py datoteko, kot je prikazano spodaj:

od django.contrib uvoz admin
od .modeli uvoz hrana

# Tukaj registrirajte svoje modele.
admin.site.registracija(hrana)

8. Naredite migracije

Naslednji, seliti aplikacijo za ustvarjanje tabel v SQLite zbirka podatkov. To lahko storite z naslednjim ukazom:

pythonupravljati.pymakemigrationskenyanfood

Nato uporabite te selitve tako, da zaženete ta ukaz:

pythonupravljati.pyseliti

Uspešna selitev bo videti takole:

Uspešne selitve pomenijo, da je zbirka podatkov ustvarila tabele za kenyanfoodaplikacija

9. Dodajte podatke v zbirko podatkov

Uporabi Administrator Django GUI za vnos podatkov v bazo. Administrator Django ima odličen vmesnik za vizualizacijo in upravljanje podatkov vaše aplikacije.

Lahko pa uporabite lupino python v ukazni vrstici za ročni vnos podatkov v bazo podatkov. V tem priročniku boste uporabljali skrbniški vmesnik Django.

Za nastavitev skrbnika Django uporabite naslednji ukaz:

pythonupravljati.pycreatesuperuser

Ko ste pozvani, vnesite svoj uporabniško ime, e-pošta in geslo. Nato lahko odprete skrbniško stran s spodnjo povezavo:

http://127.0.0.1:8000/admin/

Videli boste stran za prijavo:

Ko se prijavite, boste videli skrbniški vmesnik Django z Skupine in Uporabniki model. Oba sta za avtentikacijo; the hrana model je v spodnjem razdelku.

Lahko dodajate in brišete hrana elementov iz baze podatkov s skrbniške strani. V zbirko podatkov dodajte nekaj kenijskih dobrot, kot so Ugali, Pilau in Chai.

Zdaj, ko ima zbirka podatkov podatke, ustvarite API

10. Serializirajte model

Serializatorji pretvori zapletene modele Django v JSON objektov, zaradi česar je podatke v API-ju enostavno brati. Zaradi serializacije so podatki bolj berljivi v API-ju.

Ustvarite novo datoteko v aplikaciji, imenovani serializator.py

od rest_framework uvoz serializatorji
od .modeli uvoz hrana

razredFoodSerializator(serializatorji. ModelSerializer):
razredMeta:
model=Hrana
polja=('ime','opis')

Uvažate serializatorji modul iz rest_framework zapakirajte in ustvarite a FoodSerializator razred, ki deduje od ModelSerializer razred.

Nato navedite hrana model, ki ga želite serializirati, in polja, ki jih želite dodati v API.

11. Posodobite pogled

Nato posodobite pogled API-ja z serializator in hrana modeli.

Najprej opredelite a DOBITI metoda za pridobivanje vseh podatkov iz baze podatkov hrana. Objects.all() funkcijo. Nato serializirajte podatke in jih vrnite kot odgovor JSON format.

od django.shortcuts uvoz upodabljati
od rest_framework.response uvoz Odziv
od rest_framework.decorators uvoz api_view
od .modeli uvoz hrana
od .serializator uvoz FoodSerializator

# Tukaj ustvarite svoje poglede.
@api_view(['DOBITI'])
defgetFood(prošnja):
hrana = Food.objects.all()
serializator = FoodSerializer (hrana, veliko=Prav)
vrnitev Odziv (serializer.data)

Nato se pomaknite do povezave URL strežnika:

https://127.0.0.1:8000/

Videli boste API, ki prikazuje podatke iz baze podatkov:

Čestitamo, ustvarili ste API REST!

12. Dodajte podatke z metodo POST

Preizkusite, ali lahko uporabite REST API za dodajanje podatkov v bazo podatkov.

Najprej opredelite a OBJAVI metoda v pogledu.

@api_view(['OBJAVI'])
defpostFood(prošnja):
serializator = FoodSerializer (data=request.data)
česerializator.is_veljaven():
serializator.shrani()
vrnitev Odziv (serializer.data)

Nato dodajte pot v aplikacijo urls.py ustvariti končno točko za API OBJAVI funkcionalnost.

urlvzorci = [
pot('',views.getFood),
pot('post/',views.postFood),
]

Nato se pomaknite na ta URL:

https://127.0.0.1:8000/post

Videli boste OBJAVI končna točka. Dodajte podatke v zbirko podatkov v JSON format v Vsebina in kliknite na OBJAVI gumb. Dodajte na primer novo živilo s to strukturo:

{ "ime":"Maziwa mala", "opis":"Kislo mleko" }

Videli boste podatke, prikazane rdeče v JSON format.

Zdaj, če se pomaknete nazaj na DOBITI končna točka http://127.0.0.1:8000/, boste videli hrano "Maziwa mala,' in dodan njen opis.

Zdaj imate REST API, ki lahko prikaže in doda elemente v aplikacijo. Kaj pa eksperimentiranje z drugimi CRUD metode? Delati z NADGRADNJA in IZBRIŠI metode bodo povečale funkcionalnost vašega API-ja REST.

Kako ustvariti REST API z Django

Zdaj lahko ustvarite REST API z uporabo Djanga. Najprej ustvarite aplikacijo z modelom, serializirajte podatke in ustvarite funkcijo pogleda. Nato vključite končne točke URL za vizualizacijo podatkov v formatu JSON.

Gradnja API-jev REST z ogrodjem Django REST je priročen način za skupno rabo podatkov in omogočanje uporabnikom odlične uporabniške izkušnje.