Menu
CoddyTech

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.

challenge icon

Desafío

Fácil

Dale al gestor de tareas su primer endpoint: una URL que responde con números en lugar de una página.

  1. En tasks/views.py, importa JsonResponse desde django.http y añade una vista stats que responda con JSON: total, el número de tareas, y done, el número de tareas completadas.
  2. En tasks/urls.py, añade la ruta "api/stats/" con el nombre stats.

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

Practica por tu cuenta: Playground de Django