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’ici renvoient des pages à lire. Une API (interface de programmation d’application) renvoie des données destinées aux programmes. Une application mobile, un script ou le JavaScript d’une page demande une URL et reçoit des données en retour au lieu de 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 là où Python utilise True, False et None :
{"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 quel type de données il a reçu.
Défi
FacileAjoute au gestionnaire de tâches son premier point de terminaison, une URL qui renvoie des nombres au lieu d’une page.
- Dans
tasks/views.py, importeJsonResponsedepuisdjango.httpet ajoute une vuestatsqui renvoie du JSON :total, le nombre de tâches, etdone, le nombre de tâches terminées. - Dans
tasks/urls.py, ajoute la route"api/stats/"nomméestats.
Clique sur « Jouer » : l’aperçu s’ouvre sur /api/stats/ et 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