Ako ste koristili digitalni uređaj za slanje i primanje informacija, koristili ste API. Programeri stvaraju API-je kako bi korisnicima omogućili interakciju s podacima iz njihovih aplikacija.
Stvaranje REST API-ja prikladan je način za dijeljenje informacija. REST API-ji definirali su standarde koji reguliraju dijeljenje podataka između uređaja. Da biste razumjeli kako rade REST API-ji, možete ga izgraditi od nule.
Možete koristiti Django REST okvir za izradu REST API-ja i koristiti ga za prikaz podataka iz baze podataka.
Korištenje Djanga s REST API-jem
Možeš koristite REST API za dohvaćanje strukturiranih podataka preko HTTP-a. Poput mnogih jezika i okvira, Django vam omogućuje da izgradite vlastiti API i koristite druge.
Također biste trebali imati sljedeće unaprijed instalirano:
- Najnovija verzija pythona.
- Najnovija verzija pip.
- Pipenv (iako umjesto toga možete koristiti venv ako želite.)
- Najnovija verzija Djanga.
Nakon što instalirate sav osnovni softver, spremni ste za početak.
1. Instalirajte Django REST Framework
Django REST okvir moćan je skup alata koji možete koristiti za izradu i konfiguraciju web API-ja. Njegove prilagodljive značajke čine ga popularnim izborom za izradu REST API-ja.
Django REST framework možete instalirati sljedećom naredbom:
pipenv instalirati djangorestframework
2. Napravite Django aplikaciju
Sljedeće upute objasnit će vam kako izraditi aplikaciju za hranu za prikupljanje naziva i opisa popularne kenijske hrane. API će dohvatiti zahtjeve iz baze podataka kako bi korisnicima omogućio interakciju s tim podacima.
Django aplikacije dolaze opremljene SQLitebazom podataka, tako da ne morate instalirati drugu bazu podataka.
Da biste kreirali Django aplikaciju, prvo kreirajte projekt pod nazivom hrana sa sljedećom naredbom:
django-admin startproject hrana
Zatim izradite Django aplikaciju pod nazivomkenijska hrana:
django-admin startapp kenyanfood
3. Registrirajte postavke projekta aplikacije
Registrirajte sekenijska hranaaplikaciju u postavkama projekta pod INSTALIRANE APLIKACIJE niz. Ako preskočite ovaj korak, Django neće prepoznati aplikaciju. Također, registrirajte Django REST okvir u istim postavkama:
# Definicija aplikacije
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'kenijska hrana',
'ostatak_okvira',
]
4. Registrirajte URL-ove aplikacije
Registar kenijska hrana URL-ove aplikacija u projektu urls.py datoteku kao što je prikazano u nastavku:
iz django.doprinos uvoz admin
iz django.urls uvoz put, uključiti
url uzorci = [
staza('admin/', admin.site.urls),
staza('', uključi('kenyanfood.urls')),
]
5. Stvorite prikaz za API
Stvorite lažni prikaz u aplikaciji pogledi.py datoteku, tako da aplikacija ne izbacuje pogreške. Prvo uvezite Odgovor objektand@apiview dekorater iz Django REST frameworka.
Odgovor pomaže vratiti sterilizirane podatke JSON format dok je @apiview prikazuje API.
iz django.prečaci uvoz prikazati
iz rest_framework.response uvoz Odgovor
iz ostatak_okvira.dekorateri uvoz api_view
# Kreirajte svoje poglede ovdje.
@api_view(['DOBITI'])
defgetFood(zahtjev):
povratak Odgovor()
6. Stvorite URL put za aplikaciju
Stvorite URL put za API pogled koji ste izradili. Ova krajnja točka prikazuje kenijska hranapodaci.
iz django.urls uvoz staza
iz. uvoz pogleda
iz django.conf uvoz postavke
url uzorci = [
staza('', views.getFood),
staza('post/', views.postFood),
]
7. Izradite model za aplikaciju
Poziva se klasa modela aplikacije Hrana. Trebalo bi izgledati ovako:
iz django.db uvoz modeli
# Ovdje kreirajte svoje modele.
razredaHrana(modeli. Model):
ime = modeli. CharField (max_length=200)
opis = modeli. CharField (max_length=500)
Registrirajte model u aplikaciji admin.py datoteku kao što je prikazano u nastavku:
iz django.doprinos uvoz admin
iz .modeli uvoz Hrana
# Registrirajte svoje modele ovdje.
admin.site.Registar(Hrana)
8. Napravite migracije
Sljedeći, migrirati aplikacija za izradu tablica u SQLite baza podataka. To možete učiniti pomoću sljedeće naredbe:
pitonupravljati.pynapravitimigracijekenijska hrana
Zatim primijenite ove migracije pokretanjem ove naredbe:
pitonupravljati.pymigrirati
Uspješna migracija izgledat će ovako:
Uspješne migracije znače da je baza podataka stvorila tablice za kenijska hranaaplikacija
9. Dodajte podatke u bazu podataka
Koristiti Django admin GUI za unos podataka u bazu podataka. Django admin ima odlično sučelje za vizualizaciju i upravljanje podacima vaše aplikacije.
Alternativno, možete koristiti ljusku python u naredbenom retku za ručni unos podataka u bazu podataka. U ovom ćete vodiču koristiti Django administratorsko sučelje.
Koristite sljedeću naredbu za postavljanje Django administratora:
pitonupravljati.pystvoriti superkorisnika
Kada se to od vas zatraži, unesite svoje korisničko ime, email i lozinka. Nakon toga možete otvoriti stranicu administratora pomoću donje veze:
http://127.0.0.1:8000/admin/
Vidjet ćete stranicu za prijavu:
Nakon što se prijavite, vidjet ćete Django administrativno sučelje s grupe i Korisnici model. Oba su za provjeru autentičnosti; the Hrana model je u odjeljku ispod.
Možete dodavati i brisati Hrana stavke iz baze podataka s administratorske stranice. Dodajte neke kenijske delicije, kao što su Ugali, Pilau i Chai, u bazu podataka.
Sada kada baza podataka ima podatke, stvorite API
10. Serializirajte model
Serializatori pretvoriti složene Django modele u JSON objekata, čime se podaci lako čitaju na API-ju. Serijalizacija čini podatke čitljivijima na API-ju.
Stvorite novu datoteku u aplikaciji pod nazivom serijalizator.py
iz ostatak_okvira uvoz serijalizatori
iz .modeli uvoz Hrana
razredaFoodSerializator(serijalizatori. modelserializator):
razredaMeta:
model=Hrana
polja=('Ime','opis')
Vi uvozite serijalizatori modul iz ostatak_okvira pakirati i stvoriti a FoodSerializator klasa koja nasljeđuje od Model Serializator razreda.
Zatim navedite Hrana model koji želite serijalizirati i polja koja želite dodati u API.
11. Ažurirajte prikaz
Zatim ažurirajte pogled API-ja s serijalizator i Hrana modeli.
Prvo, definirajte a DOBITI metoda za dohvaćanje svih podataka iz baze podataka Hrana. Objekti.svi() funkcija. Zatim serijalizirajte podatke i vratite ih kao odgovor JSON format.
iz django.prečaci uvoz prikazati
iz rest_framework.response uvoz Odgovor
iz ostatak_okvira.dekorateri uvoz api_view
iz .modeli uvoz Hrana
iz .serializator uvoz FoodSerializator
# Kreirajte svoje poglede ovdje.
@api_view(['DOBITI'])
defgetFood(zahtjev):
hrana = Hrana.objects.all()
serijalizator = FoodSerializer (hrana, mnogo=Pravi)
povratak Odgovor (serializator.data)
Zatim idite na vezu URL poslužitelja:
https://127.0.0.1:8000/
Vidjet ćete API koji prikazuje podatke iz baze podataka:
Čestitamo, stvorili ste REST API!
12. Dodajte podatke metodom POST
Testirajte možete li koristiti REST API za dodavanje podataka u bazu podataka.
Prvo, definirajte a POST metoda u pogledu.
@api_view(['POST'])
defpostFood(zahtjev):
serijalizator = FoodSerializer (data=request.data)
akoserijalizator.je_važeći():
serijalizator.uštedjeti()
povratak Odgovor (serializator.data)
Zatim dodajte stazu u aplikaciju urls.py za stvaranje krajnje točke za API POST funkcionalnost.
url uzorci = [
staza('',views.getFood),
staza('post/',views.postFood),
]
Zatim idite na ovaj URL:
https://127.0.0.1:8000/post
Vidjet ćete POST krajnja točka. Dodajte podatke u bazu podataka u JSON formatu u Sadržaj odjeljak i kliknite na POST dugme. Na primjer, dodajte novu namirnicu ove strukture:
{ "Ime":"Maziwa mala", "opis":"Kiselo mlijeko" }
Vidjet ćete podatke prikazane crvenom bojom JSON format.
Sada, ako se vratite na DOBITI krajnja točka http://127.0.0.1:8000/, vidjet ćeš hranu 'Maziwa mala,' i dodan je njegov opis.
Sada imate REST API koji može prikazati i dodati stavke u aplikaciju. Što kažete na eksperimentiranje s drugim CRUD metode? Raditi sa AŽURIRAJ i IZBRISATI metode će povećati funkcionalnost vašeg REST API-ja.
Kako stvoriti REST API s Djangom
Sada možete izraditi REST API koristeći Django. Najprije izradite aplikaciju s modelom, serijalizirajte podatke i izradite funkciju prikaza. Zatim uključite krajnje točke URL-a za vizualizaciju podataka u JSON formatu.
Izrada REST API-ja s Django REST okvirom prikladan je način za dijeljenje podataka i pružanje sjajnog korisničkog iskustva vašim korisnicima.