Wenn Sie ein digitales Gerät zum Senden und Empfangen von Informationen verwendet haben, haben Sie eine API verwendet. Entwickler erstellen APIs, um Benutzern die Interaktion mit Daten aus ihren Anwendungen zu ermöglichen.

Das Erstellen einer REST-API ist eine bequeme Möglichkeit, Informationen auszutauschen. REST-APIs haben Standards definiert, die den Datenaustausch zwischen Geräten regeln. Um zu verstehen, wie REST-APIs funktionieren, können Sie eine von Grund auf neu erstellen.

Sie können das Django-REST-Framework verwenden, um eine REST-API zu erstellen und damit Daten aus einer Datenbank anzuzeigen.

Verwenden von Django mit einer REST-API

Du kannst Verwenden Sie eine REST-API, um strukturierte Daten abzurufen über HTTP. Wie viele Sprachen und Frameworks können Sie mit Django Ihre eigene API erstellen und andere nutzen.

Außerdem sollten Sie Folgendes vorinstalliert haben:

  1. Die neueste Python-Version.
  2. Die neuste Pip-Version.
  3. Pipenv (obwohl Sie stattdessen venv verwenden können, wenn Sie möchten.)
  4. Die neueste Version von Django.
instagram viewer

Sobald Sie die gesamte wichtige Software installiert haben, können Sie beginnen.

1. Installieren Sie das Django-REST-Framework

Django-REST-Framework ist ein leistungsstarkes Toolkit, mit dem Sie Web-APIs erstellen und konfigurieren können. Seine anpassbaren Funktionen machen es zu einer beliebten Wahl zum Erstellen von REST-APIs.

Sie können das Django-REST-Framework mit dem folgenden Befehl installieren:

pipenv Installieren djangorestframework

2. Erstellen Sie eine Django-App

In den folgenden Anweisungen wird erläutert, wie Sie eine Lebensmittelanwendung erstellen, um Namen und Beschreibungen beliebter kenianischer Lebensmittel zu sammeln. Die API ruft Anfragen aus einer Datenbank ab, damit Benutzer mit diesen Daten interagieren können.

Django-Apps sind mit einer SQLite-Datenbank ausgestattet, sodass Sie keine weitere Datenbank installieren müssen.

Um eine Django-App zu erstellen, erstellen Sie zunächst ein Projekt mit dem Namen Essen mit folgendem Befehl:

django-admin startproject food 

Erstellen Sie als Nächstes eine Django-App mit dem Namenkenianisches Essen:

django-admin startapp kenianfood

3. Registrieren Sie die App-Projekteinstellungen

Registrieren Sie diekenianisches Essenapp in den Projekteinstellungen unter der INSTALLIERTE ANWENDUNGEN Reihe. Wenn Sie diesen Schritt überspringen, erkennt Django die App nicht. Registrieren Sie auch das Django-REST-Framework in denselben Einstellungen:

# Anwendungsdefinition

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

4. Registrieren Sie App-URLs

Registrieren kenianisches Essen App-URLs im Projekt urls.py Datei wie unten dargestellt:

aus django.beitrag importieren Administrator
aus django.urls importieren Weg, beinhalten

URL-Muster = [
Weg('Administrator/', admin.site.urls),
Weg('', enthalten('kenyanfood.urls')),
]

5. Erstellen Sie eine Ansicht für die API

Erstellen Sie eine Dummy-Ansicht in der App Ansichten.py Datei, damit die App keine Fehler ausgibt. Importieren Sie zunächst die Antwort widersprechenund@apiview decorator aus dem Django-REST-Framework.

Antwort hilft bei der Rückgabe sterilisierter Daten JSON formatieren, während die @apiview zeigt die API an.

aus django.shortcuts importieren machen
aus rest_framework.response importieren Antwort
aus rest_framework.decorators importieren api_view

# Erstellen Sie hier Ihre Ansichten.
@api_view(['ERHALTEN'])
defzu Essen bekommen(Anfrage):
zurückkehren Antwort()

6. Erstellen Sie einen URL-Pfad für die App

Erstellen Sie einen URL-Pfad für die von Ihnen erstellte API-Ansicht. Dieser Endpunkt zeigt die kenianisches EssenDaten.

aus django.urls importieren Weg
aus. importieren Ansichten
aus django.conf importieren Einstellungen

URL-Muster = [
Weg('', views.getFood),
Weg('Post/', views.postFood),
]

7. Erstellen Sie ein Modell für die App

Die Modellklasse der App wird aufgerufen Essen. Es sollte so aussehen:

aus django.db importieren Modelle

# Erstellen Sie hier Ihre Modelle.
KlasseEssen(Modelle. Modell):
Name = Modelle. Zeichenfeld (max_length=200)
Beschreibung = Modelle. Zeichenfeld (max_length=500)

Registrieren Sie das Modell in der App admin.py Datei wie unten gezeigt:

aus django.beitrag importieren Administrator
aus .Modelle importieren Essen

# Registrieren Sie Ihre Modelle hier.
Administrator.Grundstück.registrieren(Essen)

8. Migrationen durchführen

Nächste, Wandern die App zum Erstellen von Tabellen in der SQLite Datenbank. Sie können dies mit dem folgenden Befehl tun:

Pythonverwalten.pyMigrationenkenianisches Essen

Wenden Sie als Nächstes diese Migrationen an, indem Sie diesen Befehl ausführen:

Pythonverwalten.pyWandern

Eine erfolgreiche Migration sieht folgendermaßen aus:

Erfolgreiche Migrationen bedeuten, dass die Datenbank Tabellen für die erstellt hat kenianisches EssenApp.

9. Daten zur Datenbank hinzufügen

Verwenden Sie die Django-Administrator GUI zur Eingabe von Daten in die Datenbank. Django-Administrator hat eine großartige Schnittstelle, um die Daten Ihrer Anwendung zu visualisieren und zu verwalten.

Alternativ können Sie die Python-Shell in der Befehlszeile verwenden, um Daten manuell in die Datenbank einzugeben. In diesem Handbuch verwenden Sie die Django-Administrationsschnittstelle.

Verwenden Sie den folgenden Befehl, um den Django-Administrator einzurichten:

Pythonverwalten.pyerstelltSuperuser

Wenn Sie dazu aufgefordert werden, geben Sie Ihre ein Benutzername, E-Mail und Passwort. Sie können dann die Admin-Seite über den folgenden Link öffnen:

http://127.0.0.1:8000/admin/

Sie sehen die Anmeldeseite:

Sobald Sie sich angemeldet haben, sehen Sie die Django-Administrationsoberfläche mit Gruppen Und Benutzer Modell. Diese dienen beide der Authentifizierung; Die Essen Modell ist im Abschnitt unten.

Sie können hinzufügen und löschen Essen Elemente aus der Datenbank von der Admin-Seite. Fügen Sie der Datenbank einige kenianische Delikatessen wie Ugali, Pilau und Chai hinzu.

Nachdem die Datenbank nun Daten enthält, erstellen Sie die API

10. Serialisieren Sie das Modell

Serialisierer Konvertieren Sie komplexe Django-Modelle in JSON Objekte, wodurch Daten auf der API leicht gelesen werden können. Die Serialisierung macht Daten auf der API besser lesbar.

Erstellen Sie eine neue Datei in der App namens serializer.py

aus rest_framework importieren Serialisierer
aus .Modelle importieren Essen

KlasseFoodSerializer(Serialisierer. ModelSerializer):
KlasseMeta:
Modell=Essen
Felder=('Name','Beschreibung')

Sie importieren die Serialisierer Modul aus dem rest_framework Paket und erstellen Sie eine FoodSerializer Klasse, die von erbt ModelSerializer Klasse.

Als nächstes geben Sie die an Essen Modell, das Sie serialisieren möchten, und die Felder, die Sie der API hinzufügen möchten.

11. Aktualisieren Sie die Ansicht

Aktualisieren Sie als Nächstes die API-Ansicht mit der Serialisierer Und Essen Modelle.

Definieren Sie zunächst a ERHALTEN Methode, um alle Daten aus der Datenbank abzurufen Essen. Objekte.all() Funktion. Serialisieren Sie dann die Daten und geben Sie sie als Antwort zurück JSON Format.

aus django.shortcuts importieren machen
aus rest_framework.response importieren Antwort
aus rest_framework.decorators importieren api_view
aus .Modelle importieren Essen
aus .Serialisierer importieren FoodSerializer

# Erstellen Sie hier Ihre Ansichten.
@api_view(['ERHALTEN'])
defzu Essen bekommen(Anfrage):
Essen = Essen.Objekte.all()
serializer = FoodSerializer (Essen, viele=WAHR)
zurückkehren Antwort (serializer.data)

Navigieren Sie dann zum Server-URL-Link:

https://127.0.0.1:8000/

Sie werden sehen, dass die API Daten aus der Datenbank anzeigt:

Herzlichen Glückwunsch, Sie haben eine REST-API erstellt!

12. Fügen Sie Daten mit der POST-Methode hinzu

Testen Sie, ob Sie die REST-API verwenden können, um Daten zur Datenbank hinzuzufügen.

Definieren Sie zunächst a POST Methode in der Ansicht.

@api_view(['POST'])
defpostEssen(Anfrage):
serializer = FoodSerializer (data=request.data)
WennSerialisierer.ist gültig():
Serialisierer.speichern()
zurückkehren Antwort (serializer.data)

Fügen Sie dann einen Pfad in der App hinzu urls.py um einen Endpunkt für die API zu erstellen POST Funktionalität.

URL-Muster = [
Weg('',views.getFood),
Weg('Post/',views.postEssen),
]

Navigieren Sie als Nächstes zu dieser URL:

https://127.0.0.1:8000/post

Sie werden die sehen POST Endpunkt. Daten zur Datenbank hinzufügen in JSON Format im Inhalt Abschnitt und klicken Sie auf die POST Taste. Fügen Sie beispielsweise ein neues Lebensmittel mit dieser Struktur hinzu:

{ "Name":"Maziwa Mala", "Beschreibung":"Saure Milch" }

Sie sehen die rot angezeigten Daten in JSON Format.

Wenn Sie jetzt zurück zu navigieren ERHALTEN Endpunkt http://127.0.0.1:8000/, du wirst das Essen sehen ‘Maziwa Mala,’ und seine Beschreibung hinzugefügt.

Sie haben jetzt eine REST-API, die der Anwendung Elemente anzeigen und hinzufügen kann. Wie wäre es, mit anderen zu experimentieren? CRUD Methoden? Arbeiten mit AKTUALISIEREN Und LÖSCHEN Methoden erhöhen die Funktionalität Ihrer REST-API.

So erstellen Sie eine REST-API mit Django

Sie können jetzt eine REST-API mit Django erstellen. Erstellen Sie zunächst eine App mit einem Modell, serialisieren Sie die Daten und erstellen Sie eine Ansichtsfunktion. Fügen Sie als Nächstes URL-Endpunkte hinzu, um die Daten im JSON-Format zu visualisieren.

Das Erstellen von REST-APIs mit dem Django-REST-Framework ist eine bequeme Möglichkeit, Daten auszutauschen und Ihren Benutzern ein großartiges Kundenerlebnis zu bieten.