Als je een digitaal apparaat hebt gebruikt om informatie te verzenden en te ontvangen, heb je een API gebruikt. Ontwikkelaars maken API's waarmee gebruikers kunnen communiceren met gegevens uit hun applicaties.

Het maken van een REST API is een handige manier om informatie te delen. REST API's hebben standaarden gedefinieerd die het delen van gegevens tussen apparaten reguleren. Om te begrijpen hoe REST API's werken, kunt u er een helemaal opnieuw bouwen.

U kunt het Django REST-framework gebruiken om een ​​REST API te bouwen en deze te gebruiken om gegevens uit een database weer te geven.

Django gebruiken met een REST API

Jij kan gebruik een REST API om gestructureerde gegevens op te halen via HTTP. Zoals veel talen en frameworks, kunt u met Django uw eigen API bouwen en andere gebruiken.

U moet ook het volgende vooraf geïnstalleerd hebben:

  1. De nieuwste versie van python.
  2. De nieuwste versie van pip.
  3. Pipenv (hoewel u in plaats daarvan venv kunt gebruiken als u dat wilt.)
  4. De nieuwste versie van Django.
instagram viewer

Nadat u alle essentiële software hebt geïnstalleerd, bent u klaar om te beginnen.

1. Installeer het Django REST-framework

Django REST-framework is een krachtige toolkit die u kunt gebruiken om web-API's te bouwen en configureren. De aanpasbare functies maken het een populaire keuze om REST API's te bouwen.

U kunt het Django REST-framework installeren met de volgende opdracht:

pipenv installeren djangorestframework

2. Maak een Django-app

De volgende instructies leggen uit hoe u een voedseltoepassing kunt maken om namen en beschrijvingen van populaire Keniaanse gerechten te verzamelen. De API haalt verzoeken op uit een database om gebruikers in staat te stellen met die gegevens te communiceren.

Django-apps zijn uitgerust met een SQLite-database, dus u hoeft geen andere database te installeren.

Om een ​​Django-app te maken, maakt u eerst een project met de naam voedsel met het volgende commando:

django-admin startproject food 

Maak vervolgens een Django-app genaamdkeniaans eten:

django-admin startapp kenyanfood

3. Registreer de app-projectinstellingen

Registreer dekeniaans etenapp in de projectinstellingen onder de GEÏNSTALLEERDE APPS reeks. Sla je deze stap over, dan herkent Django de app niet. Registreer ook het Django REST-framework in dezelfde instellingen:

# Applicatiedefinitie

GEÏNSTALLEERDE_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessies',
'django.contrib.berichten',
'django.contrib.staticfiles',
'keniaans eten',
'rest_framework',
]

4. Registreer app-URL's

Register keniaans eten app-URL's in het project URL.py bestand zoals hieronder afgebeeld:

van django.contrib importeren beheerder
van django.urls importeren pad, omvatten

urlpatronen = [
pad('beheerder/', admin.site.urls),
pad('', erbij betrekken('kenyanfood.urls')),
]

5. Maak een weergave voor de API

Maak een dummy-weergave in de app weergaven.py bestand, zodat de app geen fouten genereert. Importeer eerst de Antwoord bezwaar en@apiview decorateur van het Django REST-framework.

Antwoord helpt gesteriliseerde gegevens terug te sturen JSON formaat terwijl de @apiview geeft de API weer.

van django.snelkoppelingen importeren veroorzaken
van rest_framework.antwoord importeren Antwoord
van rest_framework.decorateurs importeren api_weergave

# Maak hier uw mening.
@api_view(['KRIJGEN'])
defkrijg eten(verzoek):
opbrengst Antwoord()

6. Maak een URL-pad voor de app

Maak een URL-pad voor de API-weergave die u hebt gemaakt. Dit eindpunt geeft de keniaans etengegevens.

van django.urls importeren pad
van. importeren keer bekeken
van django.conf importeren instellingen

urlpatronen = [
pad('', bekeken.getFood),
pad('na/', bekeken.postFood),
]

7. Maak een model voor de app

De modelklasse van de app wordt aangeroepen Voedsel. Het zou er zo uit moeten zien:

van django.db importeren modellen

# Maak hier uw modellen.
klasVoedsel(modellen. Model):
naam = modellen. CharField (max_length=200)
beschrijving = modellen. CharField (max_length=500)

Registreer het model in de app admin.py bestand zoals hieronder weergegeven:

van django.contrib importeren beheerder
van .modellen importeren Voedsel

# Registreer hier uw modellen.
beheerder.site.register(Voedsel)

8. Maak migraties

Volgende, migreren de app om tabellen te maken in de SQLiet databank. U kunt dit doen met behulp van de volgende opdracht:

Pythonbeheren.pymigraties makenkeniaans eten

Pas vervolgens deze migraties toe door deze opdracht uit te voeren:

Pythonbeheren.pymigreren

Een succesvolle migratie ziet er als volgt uit:

Succesvolle migraties betekenen dat de database tabellen heeft gemaakt voor de keniaans etenapp.

9. Voeg gegevens toe aan de database

Gebruik de Django beheerder GUI om gegevens in de database in te voeren. Django beheerder heeft een geweldige interface om de gegevens van uw applicatie te visualiseren en te beheren.

U kunt ook de python-shell op de opdrachtregel gebruiken om gegevens handmatig in de database in te voeren. In deze handleiding gebruikt u de Django-beheerdersinterface.

Gebruik de volgende opdracht om Django admin in te stellen:

Pythonbeheren.pysupergebruiker maken

Voer uw in wanneer daarom wordt gevraagd gebruikersnaam, e-mailadres en wachtwoord. U kunt vervolgens de beheerpagina openen via de onderstaande link:

http://127.0.0.1:8000/admin/

U ziet de inlogpagina:

Zodra u zich aanmeldt, ziet u de Django-beheerinterface met Groepen En Gebruikers model. Deze zijn beide voor authenticatie; de Voedsel model staat in het gedeelte hieronder.

U kunt toevoegen en verwijderen Voedsel items uit de database van de beheerpagina. Voeg wat Keniaanse lekkernijen, zoals Ugali, Pilau en Chai, toe aan de database.

Nu de database gegevens bevat, maakt u de API

10. Serialiseer het model

Serializers converteer complexe Django-modellen naar JSON objecten, waardoor gegevens gemakkelijk kunnen worden gelezen op de API. Serialisatie maakt gegevens leesbaarder op de API.

Maak een nieuw bestand in de app genaamd serienummer.py

van rest_framework importeren serienummers
van .modellen importeren Voedsel

klasFoodSerializer(serializers. ModelSerializer):
klasMeta:
model=Eten
velden=('naam','beschrijving')

Je importeert de serienummers moduul uit de rest_framework pakket en maak een FoodSerializer klasse die erft van de ModelSerializer klas.

Geef vervolgens de Voedsel model dat u wilt serialiseren en de velden die u aan de API wilt toevoegen.

11. Werk de weergave bij

Werk vervolgens de API-weergave bij met de serienummer En Voedsel modellen.

Definieer eerst a KRIJGEN methode om alle gegevens uit de database op te halen Voedsel. Objecten.alle() functie. Serialiseer vervolgens de gegevens en retourneer deze als een antwoord in JSON formaat.

van django.snelkoppelingen importeren veroorzaken
van rest_framework.antwoord importeren Antwoord
van rest_framework.decorateurs importeren api_weergave
van .modellen importeren Voedsel
van .serializer importeren FoodSerializer

# Maak hier uw mening.
@api_view(['KRIJGEN'])
defkrijg eten(verzoek):
food = Food.objects.all()
serializer = FoodSerializer (food, veel=WAAR)
opbrengst Reactie (serializer.data)

Navigeer vervolgens naar de server-URL-link:

https://127.0.0.1:8000/

U ziet de API gegevens uit de database weergeven:

Gefeliciteerd, je hebt een REST API gemaakt!

12. Voeg gegevens toe met de POST-methode

Test of je de REST API kunt gebruiken om data toe te voegen aan de database.

Definieer eerst a NA methode in beeld.

@api_view(['NA'])
defpostEten(verzoek):
serializer = FoodSerializer (data=request.data)
alsserienummer.is geldig():
serienummer.redden()
opbrengst Reactie (serializer.data)

Voeg vervolgens een pad toe in de app URL.py om een ​​eindpunt voor de API te maken NA functionaliteit.

urlpatronen = [
pad('',views.getFood),
pad('na/',views.postFood),
]

Navigeer vervolgens naar deze URL:

https://127.0.0.1:8000/post

Je ziet de NA eindpunt. Voeg gegevens toe aan de database in JSON formaat in de Inhoud sectie en klik op de NA knop. Voeg bijvoorbeeld een nieuw voedingsmiddel toe met deze structuur:

{ "naam":"Maziwa mala", "beschrijving":"Zure melk" }

U ziet de gegevens in rood weergegeven in JSON formaat.

Als u nu terug navigeert naar de KRIJGEN eindpunt http://127.0.0.1:8000/, je zult het eten zien 'Maziwa mala,' en de beschrijving toegevoegd.

Je hebt nu een REST API die items kan weergeven en toevoegen aan de applicatie. Hoe zit het met experimenteren met andere RUWE methoden? Werken met UPDATE En VERWIJDEREN methoden zullen de functionaliteit van uw REST API vergroten.

Hoe maak je een REST API met Django

U kunt nu een REST API maken met behulp van Django. Maak eerst een app met een model, serialiseer de gegevens en maak een weergavefunctie. Voeg vervolgens URL-eindpunten toe om de gegevens in JSON-indeling te visualiseren.

Het bouwen van REST API's met het Django REST-framework is een handige manier om gegevens te delen en uw gebruikers een geweldige klantervaring te bieden.