Django REST Framework es una herramienta que permite crear el “backend” de una aplicación: la parte que se encarga de guardar, procesar y enviar datos. “DRF” funciona sobre Django en Python y se encarga de exponer datos a través de una API (normalmente en formato JSON). Se integra directamente con el ORM de Django, facilitando el trabajo con bases de datos y permite que esos datos puedan ser leídos, modificados, creados o eliminados desde otros sistemas (como un frontend hecho con React, una app móvil, u otro backend).
Click aquí para una versión accesible de la infografía (apta para lectores electrónicos)
Django Rest Framework
Es una biblioteca de Django para crear APIs REST con Python.
¿Qué se necesita para empezar?
-
Un proyecto Django: pip install django django-admin startproject mi_proyecto
-
Crear una app dentro del proyecto: cd mi_proyecto python manage.py startapp mi_api
-
Instalar DRF: pip install djangorestframework
-
Agregar ‘rest_framework’ y ‘mi_api’ a INSTALLED_APPS en settings.py
Estructura de una API con DRF
Modelo: Representa la estructura de los datos. Se vincula con la base de datos.
class Producto(models.Model):
nombre = models.CharField(max_length=100)
Migraciones: Transforman el modelo en tablas reales en la base de datos.
python manage.py makemigrations
python manage.py migrate
Serializador: Convierte modelos en JSON (y viceversa), validando datos.
class ProductoSerializer(serializers.ModelSerializer):
class Meta:
model = Producto
fields = '__all__'
Vista: Controla qué datos se devuelven y cómo se manejan las solicitudes (GET, POST, etc).
class ProductoViewSet(viewsets.ModelViewSet):
queryset = Producto.objects.all()
serializer_class = ProductoSerializer
URL / Ruteo: Conecta las vistas con una URL en urls.py.
router = DefaultRouter()
router.register('productos', ProductoViewSet)