Guía Completa para Crear una Aplicación CRUD con Django y React Paso a Paso

Guía Completa para Crear una Aplicación CRUD con Django y React Paso a Paso

Tutorial Django React: Construye una Aplicación CRUD Fullstack Paso a Paso

En este tutorial detallado aprenderás a construir una aplicación web completa con backend en Django y frontend en React, ideal para desarrolladores con nivel intermedio que quieren iniciar en el desarrollo fullstack moderno. Cubriremos desde la configuración del entorno, creación de una API RESTful usando Django REST Framework, hasta la construcción de una interfaz React que consume esta API para realizar operaciones CRUD (Crear, Leer, Actualizar y Eliminar).

Este proyecto práctico te permitirá dominar la integración completa entre ambas tecnologías, además de enseñarte buenas prácticas en el manejo del estado con hooks y la conexión eficiente entre frontend y backend.


Índice

  1. Configuración y creación del proyecto Django
  2. Definición de modelos y migraciones
  3. Configuración de Django REST Framework y creación de API
  4. Configuración del entorno React
  5. Implementación de componentes React para operaciones CRUD
  6. Manejo del estado con hooks en React
  7. Conexión entre frontend y backend
  8. Conclusión y mejores prácticas

Configuración y creación del proyecto Django

Paso 1: Crear y activar un entorno virtual

Paso 2: Instalar Django y Django REST Framework

Paso 3: Crear el proyecto y una aplicación para la API

Paso 4: Añadir la aplicación y REST Framework a INSTALLED_APPS

Edita backend/settings.py:

Paso 5: Configurar permiso básico para la API (opcional)

Puedes añadir la configuración básica para que todas las vistas usen permisos abiertos (útil en desarrollo):

Definición de modelos y migraciones

Para este ejemplo, vamos a crear un modelo simple para administrar Tareas (Tasks) con un título y descripción.

Paso 6: Definir el modelo Task en api/models.py

Paso 7: Crear y aplicar migraciones

Configuración de Django REST Framework y creación de API

Paso 8: Crear un serializer para Task en api/serializers.py

Paso 9: Crear vistas basadas en clases para la API en api/views.py

Utilizaremos las vistas genéricas para simplificar el CRUD.

Paso 10: Configurar las URLs para la API en api/urls.py

Paso 11: Referenciar las URLs de la app en backend/urls.py

Paso 12: Probar que la API funciona

Ejecuta el servidor:

Abre en el navegador: http://localhost:8000/api/tasks/ – deberías ver una respuesta JSON vacía. La API ya está lista para interactuar.

Configuración del entorno React

Paso 13: Crear proyecto React con Create React App

En un directorio paralelo (o fuera de backend), ejecuta:

Paso 14: Instalar Axios para las peticiones HTTP

Paso 15: Ejecutar la aplicación React

Implementación de componentes React para operaciones CRUD

Vamos a crear un CRUD simple para administrar las tareas consumiendo la API Django.

Paso 16: Estructura básica en src/App.js

Manejo del estado con hooks en React

  • Utilizamos useState para el estado local de tareas, inputs y edición.
  • useEffect realiza la carga inicial del listado de tareas.
  • Las funciones fetchTasks, handleSubmit, handleEdit y handleDelete modifican el estado y actualizan la UI.

Esta estructura simple con hooks es suficiente para aplicaciones CRUD medianas y demuestra cómo manejar los datos consumiendo una API REST.

Conexión entre frontend y backend

Paso 17: Configurar CORS para permitir solicitudes desde React

Instala django-cors-headers:

Añádelo al INSTALLED_APPS y middleware en settings.py:

Esto permite que React (puerto 3000) acceda a la API Django sin problemas de CORS.

Paso 18: Ejecuta ambos servidores simultáneamente

  • Backend Django:

  • Frontend React:

Paso 19: Prueba la integración

Usa la interfaz React para crear, actualizar y eliminar tareas. Verás cómo la UI se actualiza reflejando los cambios y la API responde con los datos correspondientes.

Conclusión y mejores prácticas

En este tutorial aprendiste a crear una aplicación CRUD completa usando Django para el backend y React para el frontend, integrando ambas tecnologías mediante una API RESTful desarrollada con Django REST Framework. También manejamos el estado en React con hooks y configuramos el entorno para el desarrollo local conjunto.

Buenas prácticas para proyectos similares:

  • Usa variables de entorno para URLs y configuraciones en frontend y backend.
  • Implementa manejo de autenticación y permisos en Django REST Framework.
  • Separa componentes React en archivos individuales para mantener el código ordenado.
  • Añade validaciones robustas en frontend y backend.
  • Considera usar React Router para una aplicación SPA con navegación.

¡Lleva tu aprendizaje más lejos!

  • Experimenta añadiendo autenticación con JWT.
  • Integra Redux o Context API para manejo avanzado del estado.
  • Despliega tu aplicación en plataformas como Heroku o Vercel.

Si te ha gustado este tutorial Django React para principiantes e intermedios, compártelo y síguenos para más contenido de desarrollo fullstack con Django y React.