- 1

Creación de APIs con Django REST Framework
01:38 - 2

APIs y JSON: Comunicación entre Servidores y Aplicaciones Web
09:42 - 3

Creación de APIs con Django REST Framework
09:48 - 4

Django REST: Funcionalidades y Ventajas al Crear APIs
02:54 - 5

Modelos y Serializadores en Django para DoctorApp
14:13 - 6

Uso de Serializadores en Vistas con Django REST Framework
05:50 - 7

Creación y modificación de pacientes en API REST con Django
19:08 - 8

CRUD de Recursos con Django REST Framework
06:06 - 9

Pruebas de APIs con Postman y Curl
05:48 - 10

Refactorización de Vistas: De Funciones a Clases en Django REST
17:01 - 11

Vistas Genéricas en Django: Detalle, Actualización y Eliminación
04:19 - 12

Documentación de APIs con DRF Spectacular y Swagger en Django
10:38
Uso de Viewsets y Routers en Django REST Framework
Clase 13 de 21 • Curso de Django Rest Framework
Contenido del curso
Fundamentos de Django Rest Framework
Vistas y Endpoints
Serializadores Avanzados
Testing y Desempeño
Resumen
Los Viewsets en Django REST Framework nos ayudan a simplificar la creación de vistas al reutilizar una clase que agrupa el código necesario para manejar diferentes operaciones sobre un recurso, como listar, crear, actualizar y eliminar. Al integrarlos con los routers, evitamos la necesidad de definir cada URL manualmente, ya que el router se encarga de generar todas las rutas de manera automática.
¿Qué son los Viewsets y cómo funcionan?
- Un Viewset es una clase reutilizable que agrupa todas las operaciones que se suelen realizar con una vista (lista, detalle, creación, actualización, eliminación).
- Al usar Viewsets, reducimos la cantidad de clases y URLs que necesitamos escribir, ya que todas las operaciones se manejan desde un solo lugar.
- En lugar de crear múltiples clases, un solo Viewset puede manejar todas las acciones requeridas para un recurso.
¿Cómo se crea un Viewset?
- Importamos
ModelViewSetdesderest_framework.viewsets. - Definimos una clase que hereda de
ModelViewSet, comoDoctorViewset. - Asignamos un
QuerySety unSerializerpara definir cómo se gestionará la información y cómo será serializada.
from rest_framework import viewsets
from .serializers import DoctorSerializer
from .models import Doctor
class DoctorViewset(viewsets.ModelViewSet):
queryset = Doctor.objects.all()
serializer_class = DoctorSerializer
¿Cómo se registran los Viewsets con los routers?
- Los routers simplifican la creación de URLs, ya que generan las rutas automáticamente al registrar un Viewset.
- Usamos
DefaultRouterde Django REST Framework para registrar el Viewset y generar las rutas correspondientes.
from rest_framework.routers import DefaultRouter
from .viewsets import DoctorViewset
router = DefaultRouter()
router.register(r'doctors', DoctorViewset)
urlpatterns = router.urls
¿Cómo se prueban los Viewsets?
- Una vez registrado el Viewset, podemos verificar las URLs generadas ejecutando el servidor y accediendo a la API.
- Las operaciones de creación, actualización y eliminación de un recurso se pueden realizar directamente en las URLs generadas automáticamente.
¿Qué ventajas ofrecen los Viewsets y los routers?
- Evitamos la repetición de código al gestionar varias operaciones con una sola clase.
- Los routers generan automáticamente las rutas necesarias para cada recurso, lo que facilita su uso y mantenimiento.
- Las URLs generadas tienen nombres claros, lo que permite su uso programático dentro del código.