Menu
CoddyTech

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.

challenge icon

Aufgabe

Einfach

Gib der Aufgabenverwaltung ihren ersten Endpunkt:

  • Eine Ansicht stats, die JSON mit total, der Anzahl der Aufgaben, und done, der Anzahl der erledigten Aufgaben, zurückgibt.
  • Die Route "api/stats/" mit dem Namen stats.

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