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ł.
Wyzwanie
ŁatwyDodaj do menedżera zadań jego pierwszy endpoint — adres URL, który zwraca liczby zamiast strony.
- W pliku
tasks/views.pyzaimportujJsonResponsezdjango.httpi dodaj widokstats, który zwraca dane w formacie JSON:total, czyli liczbę zadań, orazdone, czyli liczbę wykonanych zadań. - W pliku
tasks/urls.pydodaj trasę"api/stats/"o nazwiestats.
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
2Odczytywanie żądań
Filtrowanie za pomocą zapytaniaTworzenie za pomocą POST5Projekt: Porządkowanie zadań
Projekt: PriorytetyProjekt: Usuwanie ukończonych zadańPoćwicz samodzielnie: Edytor online Django