Was ist eine API?
Teil des Abschnitts JSON-APIs der Django-Journey von Coddy. Lektion 1 von 19.
Die Ansichten, die du bisher geschrieben hast, geben Seiten zurück, die Menschen lesen können. Eine API (Programmierschnittstelle) gibt Daten für Programme zurück: Eine Handy-App, ein Skript oder das JavaScript auf einer Seite fragt eine URL ab und erhält Daten zurück statt HTML.
Diese Daten liegen normalerweise als JSON vor, einem Text, der wie Python-Wörterbücher und -Listen aussieht, mit doppelten Anführungszeichen und true, false und null an den Stellen, an denen Python True, False und None verwendet:
{"title": "Buy milk", "done": false, "due": null}Django wandelt mit JsonResponse ein Wörterbuch in eine JSON-Antwort um:
from django.http import JsonResponse
def hello(request):
return JsonResponse({"message": "Hi", "ready": True})Es schreibt das JSON und setzt den Content-Type-Header auf application/json. Ein Header ist eine Informationszeile, die mit der Antwort gesendet wird; dieser teilt dem Programm mit, welche Art von Daten es erhalten hat.
Aufgabe
EinfachGib der Aufgabenverwaltung ihren ersten Endpunkt:
- Eine Ansicht
stats, die JSON mittotal, der Anzahl der Aufgaben, unddone, der Anzahl der erledigten Aufgaben, zurückgibt. - Die Route
"api/stats/"mit dem Namenstats.
Klicke auf „Run“ und öffne dann /api/stats/: Dort wird {"total": 3, "done": 1} angezeigt.
Probier es selbst
from django.shortcuts import render
from .models import Task
def home(request):
return render(request, "tasks/home.html", {"tasks": Task.objects.all()})
Alle Lektionen in JSON-APIs
Übe selbstständig: Django-Playground