Qu’est-ce qu’une API ?
Fait partie de la section API JSON du Journey Django de Coddy. Leçon 1 sur 19.
Les vues que tu as écrites jusqu’à présent renvoient des pages que les gens peuvent lire. Une API (interface de programmation d’application) renvoie des données destinées aux programmes : une application pour téléphone, un script ou le JavaScript d’une page demande une URL et reçoit des données en retour, plutôt que du HTML.
Ces données sont généralement au format JSON, un texte qui ressemble aux dictionnaires et aux listes Python, avec des guillemets doubles et true, false et null à la place de True, False et None en Python :
{"title": "Buy milk", "done": false, "due": null}Django transforme un dictionnaire en réponse JSON avec JsonResponse :
from django.http import JsonResponse
def hello(request):
return JsonResponse({"message": "Hi", "ready": True})Il écrit le JSON et définit l’en-tête Content-Type sur application/json. Un en-tête est une ligne d’information envoyée avec la réponse ; celui-ci indique au programme le type de données qu’il a reçues.
Défi
FacileAjoutez son premier point de terminaison au gestionnaire de tâches :
- Une vue
statsqui renvoie du JSON avectotal, le nombre de tâches, etdone, le nombre de tâches terminées. - La route
"api/stats/", nomméestats.
Appuyez sur Exécuter, puis ouvrez /api/stats/ : elle affiche {"total": 3, "done": 1}.
Essayez vous-même
from django.shortcuts import render
from .models import Task
def home(request):
return render(request, "tasks/home.html", {"tasks": Task.objects.all()})
Toutes les leçons de API JSON
Entraînez-vous par vous-même : Playground Django