Dacă ați folosit un dispozitiv digital pentru a trimite și a primi informații, ați folosit un API. Dezvoltatorii creează API-uri pentru a permite utilizatorilor să interacționeze cu datele din aplicațiile lor.

Crearea unui API REST este o modalitate convenabilă de a partaja informații. API-urile REST au standarde definite care reglementează partajarea datelor între dispozitive. Pentru a înțelege cum funcționează API-urile REST, puteți crea una de la zero.

Puteți utiliza cadrul Django REST pentru a construi un API REST și îl puteți utiliza pentru a afișa date dintr-o bază de date.

Utilizarea Django cu un API REST

Puteți utilizați un API REST pentru a prelua date structurate prin HTTP. La fel ca multe limbi și cadre, Django vă permite să vă creați propriul API și să utilizați altele.

De asemenea, ar trebui să aveți următoarele preinstalate:

  1. Cea mai recentă versiune de python.
  2. Cea mai recentă versiune de pip.
  3. Pipenv (deși puteți folosi în schimb venv dacă doriți.)
  4. Cea mai recentă versiune de Django.
instagram viewer

După ce ați instalat toate software-urile esențiale, sunteți gata să începeți.

1. Instalați Django REST Framework

Cadrul Django REST este un set de instrumente puternic pe care îl puteți folosi pentru a construi și configura API-uri web. Caracteristicile sale personalizabile fac din aceasta o alegere populară pentru a construi API-uri REST.

Puteți instala cadrul Django REST cu următoarea comandă:

pipenv instalare djangorestframework

2. Creați o aplicație Django

Următoarele instrucțiuni vă vor explica cum să creați o aplicație alimentară pentru a aduna nume și descrieri ale alimentelor populare din Kenya. API-ul va prelua cereri dintr-o bază de date pentru a permite utilizatorilor să interacționeze cu acele date.

Aplicațiile Django sunt echipate cu o bază de date SQLite, astfel încât nu trebuie să instalați o altă bază de date.

Pentru a crea o aplicație Django, creați mai întâi un proiect numit alimente cu următoarea comandă:

django-admin startproject food 

Apoi, creați o aplicație Django numitămâncare kenyană:

django-admin startapp kenyanfood

3. Înregistrați setările proiectului pentru aplicație

Înregistrațimâncare kenyanăaplicația în setările proiectului sub APLICAȚII INSTALATE matrice. Dacă săriți peste acest pas, Django nu va recunoaște aplicația. De asemenea, înregistrați cadrul Django REST în aceleași setări:

# Definiția aplicației

INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'mâncare kenyană',
'rest_framework',
]

4. Înregistrați adresele URL ale aplicațiilor

Inregistreaza-te mâncare kenyană URL-urile aplicației din proiect urls.py fișier așa cum este ilustrat mai jos:

din django.contrib import admin
din django.urls import cale, include

urlpatterns = [
cale('admin/', admin.site.urls),
cale('', include('kenyanfood.urls')),
]

5. Creați o vizualizare pentru API

Creați o vizualizare inactivă în aplicația vederi.py fișier, astfel încât aplicația nu aruncă erori. În primul rând, importați Raspuns obiectand@apiview decorator din cadrul Django REST.

Raspuns ajută la returnarea datelor sterilizate în JSON format în timp ce @apiview afișează API-ul.

din django.comenzi rapide import face
din rest_framework.response import Raspuns
din rest_framework.decoratori import api_view

# Creați-vă vederile aici.
@api_view(['OBȚINE'])
defgetFood(cerere):
întoarcere Raspuns()

6. Creați o cale URL pentru aplicație

Creați o cale URL pentru vizualizarea API pe care ați creat-o. Acest punct final afișează mâncare kenyanădate.

din django.urls import cale
din. import vederi
din django.conf import setări

urlpatterns = [
cale('', views.getFood),
cale('post/', views.postFood),
]

7. Creați un model pentru aplicație

Clasa de model a aplicației este numită Alimente. Ar trebui să arate așa:

din django.db import modele

# Creați-vă modelele aici.
clasăAlimente(modele. Model):
nume = modele. CharField (lungime_max.=200)
descriere = modele. CharField (lungime_max.=500)

Înregistrați modelul în aplicație admin.py fișier așa cum se arată mai jos:

din django.contrib import admin
din .modele import Alimente

# Înregistrați-vă modelele aici.
admin.site.Inregistreaza-te(Alimente)

8. Faceți migrații

Următorul, migra aplicația pentru a crea tabele în SQLite Bază de date. Puteți face acest lucru folosind următoarea comandă:

pitonadministra.pyface migrațiimâncare kenyană

Apoi, aplicați aceste migrări rulând această comandă:

pitonadministra.pymigra

O migrare reușită va arăta astfel:

Migrațiile reușite înseamnă că baza de date a creat tabele pentru mâncare kenyanăApp.

9. Adăugați date la baza de date

Folosește administrator Django GUI pentru a introduce date în baza de date. administrator Django are o interfață excelentă pentru a vizualiza și gestiona datele aplicației dvs.

Alternativ, puteți utiliza shell-ul python pe linia de comandă pentru a introduce datele manual în baza de date. În acest ghid, veți folosi interfața de administrare Django.

Utilizați următoarea comandă pentru a configura Django admin:

pitonadministra.pycreatesuperuser

Când vi se solicită, introduceți dvs nume de utilizator, e-mail și parolă. Apoi puteți deschide pagina de administrare folosind linkul de mai jos:

http://127.0.0.1:8000/admin/

Veți vedea pagina de autentificare:

Odată ce vă conectați, veți vedea interfața de administrare Django cu Grupuri și Utilizatori model. Acestea sunt ambele pentru autentificare; cel Alimente modelul este în secțiunea de mai jos.

Puteți adăuga și șterge Alimente articole din baza de date din pagina de administrare. Adăugați câteva delicatese kenyene, cum ar fi Ugali, Pilau și Chai, în baza de date.

Acum că baza de date are date, creați API-ul

10. Serializați modelul

Serializatoare converti modele complexe Django în JSON obiecte, făcând datele ușor de citit în API. Serializarea face datele mai lizibile în API.

Creați un fișier nou în aplicația numită serializator.py

din rest_framework import serializatoare
din .modele import Alimente

clasăSerializator de alimente(serializatoare. ModelSerializer):
clasăMeta:
model=Mâncare
câmpuri=('Nume','Descriere')

Tu importi serializatoare modul din rest_framework împachetați și creați un Serializator de alimente clasa care moşteneşte de la ModelSerializer clasă.

Apoi, specificați Alimente modelul pe care doriți să îl serializați și câmpurile pe care doriți să le adăugați la API.

11. Actualizați vizualizarea

Apoi, actualizați vizualizarea API cu serializator și Alimente modele.

Mai întâi, definiți a OBȚINE metoda de a prelua toate datele din baza de date cu Alimente. Objects.all() funcţie. Apoi serializați datele și le-ați returnat ca răspuns în JSON format.

din django.comenzi rapide import face
din rest_framework.response import Raspuns
din rest_framework.decoratori import api_view
din .modele import Alimente
din .serializator import Serializator de alimente

# Creați-vă vederile aici.
@api_view(['OBȚINE'])
defgetFood(cerere):
mâncare = Food.objects.all()
serializator = FoodSerializer (alimente, multe=Adevărat)
întoarcere Răspuns (serializer.data)

Apoi, navigați la linkul URL al serverului:

https://127.0.0.1:8000/

Veți vedea API-ul afișând date din baza de date:

Felicitări, ați creat un API REST!

12. Adăugați date cu metoda POST

Testați dacă puteți utiliza API-ul REST pentru a adăuga date la baza de date.

Mai întâi, definiți a POST metoda în vedere.

@api_view(['POST'])
defpostMâncare(cerere):
serializator = FoodSerializer (data=request.data)
dacăserializator.este valabil():
serializator.Salvați()
întoarcere Răspuns (serializer.data)

Apoi, adăugați o cale în aplicație urls.py pentru a crea un punct final pentru API POST funcţionalitate.

urlpatterns = [
cale('',views.getFood),
cale('post/',views.postFood),
]

Apoi, navigați la această adresă URL:

https://127.0.0.1:8000/post

Vei vedea POST punct final. Adăugați date în baza de date în JSON format în Conţinut secțiunea și faceți clic pe POST buton. De exemplu, adăugați un nou produs alimentar cu această structură:

{ "Nume":"Maziwa mala", "Descriere":"Lapte acru" }

Veți vedea datele afișate cu roșu în JSON format.

Acum, dacă navigați înapoi la OBȚINE punctul final http://127.0.0.1:8000/, vei vedea mâncareaMaziwa mala,’ și descrierea sa adăugată.

Acum aveți o API REST care poate afișa și adăuga elemente în aplicație. Ce zici de a experimenta cu altele CRUD metode? Lucrând cu ACTUALIZAȚI și ȘTERGE metodele vor crește funcționalitatea API-ului dvs. REST.

Cum se creează un API REST cu Django

Acum puteți crea un API REST folosind Django. Mai întâi, creați o aplicație cu un model, serializați datele și creați o funcție de vizualizare. Apoi, includeți punctele finale URL pentru a vizualiza datele în format JSON.

Crearea de API-uri REST cu cadrul Django REST este o modalitate convenabilă de a partaja date și de a oferi utilizatorilor o experiență excelentă pentru clienți.