Che cos’è un’API
Fa parte della sezione API JSON del percorso Django di Coddy. Lezione 1 di 19.
Le viste che hai scritto finora restituiscono pagine da leggere. Un’API (interfaccia di programmazione delle applicazioni) restituisce dati per i programmi. Un’app per telefono, uno script o il JavaScript di una pagina richiede un URL e riceve dati invece di HTML.
Questi dati sono di solito JSON, testo che assomiglia a dizionari e liste Python, con virgolette doppie e true, false e null al posto di True, False e None di Python:
{"title": "Buy milk", "done": false, "due": null}Django trasforma un dizionario in una risposta JSON con JsonResponse:
from django.http import JsonResponse
def hello(request):
return JsonResponse({"message": "Hi", "ready": True})Scrive il JSON e imposta l’intestazione Content-Type su application/json. Un’intestazione è una riga di informazioni inviata insieme alla risposta; questa indica al programma il tipo di dati che ha ricevuto.
Sfida
FacileAggiungi al gestore delle attività il suo primo endpoint, un URL che risponde con numeri anziché con una pagina.
- In
tasks/views.py, importaJsonResponsedadjango.httpe aggiungi una vistastatsche risponda con JSON:total, il numero di attività, edone, il numero di attività completate. - In
tasks/urls.py, aggiungi la route"api/stats/"con il nomestats.
Premi «Esegui»: l'anteprima si apre su /api/stats/ e mostra {"total": 3, "done": 1}.
Provalo tu
from django.shortcuts import render
from .models import Task
def home(request):
return render(request, "tasks/home.html", {"tasks": Task.objects.all()})
Tutte le lezioni di API JSON
2Lettura delle richieste
Filtrare con una queryCreare con POST5Progetto: organizzare il lavoro
Progetto: le prioritàProgetto: cancellare le attività completateEsercitati da solo: Playground Django