Menu
CoddyTech

Czym jest API

Część sekcji API JSON ścieżki Django w Coddy. Lekcja 1 z 19.

Widoki, które do tej pory napisano, zwracają strony do czytania. API (interfejs programowania aplikacji) zwraca dane dla programów. Aplikacja na telefon, skrypt lub kod JavaScript na stronie wysyła żądanie do adresu URL i otrzymuje dane zamiast HTML.

Te dane to zwykle JSON — tekst przypominający słowniki i listy Pythona, z podwójnymi cudzysłowami oraz true, false i null w miejscach, w których Python używa True, False i None:

{"title": "Buy milk", "done": false, "due": null}

Django zamienia słownik w odpowiedź JSON za pomocą JsonResponse:

from django.http import JsonResponse


def hello(request):
    return JsonResponse({"message": "Hi", "ready": True})

Django zapisuje JSON i ustawia nagłówek Content-Type na application/json. Nagłówek to wiersz informacji wysyłany wraz z odpowiedzią; ten informuje program, jakiego rodzaju dane otrzymał.

challenge icon

Wyzwanie

Łatwy

Dodaj do menedżera zadań jego pierwszy endpoint — adres URL, który zwraca liczby zamiast strony.

  1. W pliku tasks/views.py zaimportuj JsonResponse z django.http i dodaj widok stats, który zwraca dane w formacie JSON: total, czyli liczbę zadań, oraz done, czyli liczbę wykonanych zadań.
  2. W pliku tasks/urls.py dodaj trasę "api/stats/" o nazwie stats.

Naciśnij „Uruchom”: podgląd otworzy adres /api/stats/ i wyświetli {"total": 3, "done": 1}.

Spróbuj swoich sił

from django.shortcuts import render

from .models import Task


def home(request):
    return render(request, "tasks/home.html", {"tasks": Task.objects.all()})

Wszystkie lekcje w sekcji API JSON

Poćwicz samodzielnie: Edytor online Django