Qué es una API
Parte de la sección API JSON del Journey de Django de Coddy. Lección 1 de 19.
Las vistas que has escrito hasta ahora devuelven páginas para que las personas las lean. Una API (interfaz de programación de aplicaciones) devuelve datos para programas. Una aplicación para teléfono, un script o el JavaScript de una página solicita una URL y recibe datos en lugar de HTML.
Esos datos suelen ser JSON, texto que se parece a los diccionarios y las listas de Python, con comillas dobles y true, false y null donde Python tiene True, False y None:
{"title": "Buy milk", "done": false, "due": null}Django convierte un diccionario en una respuesta JSON con JsonResponse:
from django.http import JsonResponse
def hello(request):
return JsonResponse({"message": "Hi", "ready": True})Escribe el JSON y establece el encabezado Content-Type en application/json. Un encabezado es una línea de información que se envía con la respuesta; este le indica al programa qué tipo de datos ha recibido.
Desafío
FácilDale al gestor de tareas su primer endpoint: una URL que responde con números en lugar de una página.
- En
tasks/views.py, importaJsonResponsedesdedjango.httpy añade una vistastatsque responda con JSON:total, el número de tareas, ydone, el número de tareas completadas. - En
tasks/urls.py, añade la ruta"api/stats/"con el nombrestats.
Pulsa Ejecutar: la vista previa abre /api/stats/ y muestra {"total": 3, "done": 1}.
Pruébalo tú mismo
from django.shortcuts import render
from .models import Task
def home(request):
return render(request, "tasks/home.html", {"tasks": Task.objects.all()})
Todas las lecciones de API JSON
2Lectura de solicitudes
Filtrar con una consultaCrear con POST5Proyecto: Organizar el trabajo
Proyecto: PrioridadesProyecto: Borrar las tareas completadasPractica por tu cuenta: Playground de Django