Depurar aplicaciones Django con print y logs puede ser lento e ineficiente. En este articulo explico paso a paso como configurar un entorno completo de depuracion en Visual Studio Code para inspeccionar variables, avanzar por el codigo y comprender el flujo de ejecucion de la aplicacion en tiempo real, mejorando la productividad de tu equipo y la calidad del software.
Prerequisitos: VS Code instalado, extension de Python instalada, un proyecto Django con entorno virtual activo y conocimientos basicos de la estructura de un proyecto Django.
Estructura tipica del proyecto: tu-proyecto-django con una carpeta .venv para el entorno virtual, archivo manage.py, un paquete de configuracion como config con settings.py e init, y las apps dentro de una carpeta apps. Abre la carpeta del proyecto en VS Code usando el comando code seguido de la ruta a tu proyecto.
Seleccion del interprete Python: abre la paleta de comandos con Ctrl+Shift+P o Cmd+Shift+P, escribe Python Colon Select Interpreter y elige el ejecutable dentro de tu entorno virtual normalmente en .venv/bin/python o .venv/Scripts/python.exe en Windows. Verifica que el interprete seleccionado aparece en la barra de estado de VS Code.
Configuracion del espacio de trabajo: crea una carpeta .vscode en la raiz del proyecto. Crea un archivo settings.json en .vscode y configura la ruta por defecto del interprete hacia .venv/bin/python, activa la activacion del entorno en la terminal integrada y habilita pytest si lo usas. Esto asegura que VS Code utilice el entorno virtual de forma consistente.
Configuracion de depuracion: crea un archivo launch.json en .vscode con varias configuraciones utiles. Añade una configuracion para ejecutar el servidor de desarrollo usando manage.py runserver con args 0.0.0.0:8000, habilita la opcion django y desactiva justMyCode para poder entrar en bibliotecas si hace falta. Añade otra configuracion para depurar pruebas que ejecute manage.py test. Añade una configuracion para abrir una shell de Django con manage.py shell y utiliza la terminal integrada para la consola interactiva. Asegurate de exportar la variable de entorno DJANGO_SETTINGS_MODULE con el valor config.settings en la configuracion de depuracion.
Probar la configuracion basica: abre manage.py en el editor y coloca un breakpoint en una linea temprana haciendo clic en la margen. Presiona F5 o selecciona Run Start Debugging y elige la configuracion Django Debug Server. El depurador debe iniciarse y pausar la ejecucion en el breakpoint, mostrando la barra de control de depuracion en VS Code.
Primer breakpoint real: crea una vista de prueba en apps slash core slash views.py que lea un parametro name desde request.GET con un valor por defecto Anonymous, llama a breakpoint() para pausar la ejecucion y retorna una HttpResponse con un saludo formado por f Hello comma variable. Registra la ruta debug-test slash en urls.py para apuntar a la vista de prueba.
Depuracion interactiva: inicia el servidor en modo depuracion con F5 usando Django Debug Server, abre el navegador en http colon slash slash localhost colon 8000 slash debug-test slash question name equals John. La ejecucion debe pausar en la llamada a breakpoint. En la consola de depuracion de VS Code puedes inspeccionar variables como user_name, request.GET y request.method, ejecutar consultas al ORM y evaluar expresiones Django siempre que el contexto lo permita. Presiona F5 para continuar la ejecucion.
Explora las herramientas de depuracion: en el panel Variables expande request para ver los datos de la peticion, consulta el valor de user_name y revisa variables locales y globales. En la consola de depuracion puedes obtener datos de request.GET.get name, acceder a request.META con la clave REQUEST_METHOD y probar queries como from django.contrib.auth.models import User seguido de User.objects.count para inspeccionar el estado de la base de datos mientras estas en un breakpoint.
Controles de avance: utiliza F10 para step over y ejecutar la linea actual, F11 para step into y entrar en llamadas a funciones, Shift plus F11 para step out y salir de la funcion actual, y F5 para reanudar la ejecucion hasta el siguiente breakpoint.
Depurar pruebas de Django: crea un archivo de pruebas en apps slash core slash tests.py con un TestCase que cree un Client, llame a breakpoint antes de hacer una peticion GET a la ruta de prueba y despues verifique el status code y el contenido de la respuesta. Para depurar la prueba coloca un breakpoint en el metodo de prueba, ejecuta F5 y selecciona Django Debug Tests; el depurador pausara en el breakpoint permitiendote inspeccionar el flujo del test.
Tecnicas avanzadas: usa breakpoints condicionales editando el breakpoint y añadiendo una condicion que compare una variable con el valor deseado para que la pausa ocurra solo cuando la condicion se cumple. Para operaciones con modelos coloca breakpoint dentro del metodo que crea o modifica instancias y avanza linea a linea para ver las operaciones de save y transacciones. Para validar formularios coloca breakpoint dentro de los metodos clean o clean_field y examina cleaned_data y errores de validacion.
Resolucion de problemas comun: si los breakpoints no funcionan confirma que estas ejecutando la configuracion de depuracion y no un runserver manual, verifica que el interprete Python esta bien seleccionado en VS Code y que justMyCode esta en false. Si hay errores de importacion activa el entorno virtual, comprueba la ruta del interprete en la barra de estado y verifica que DJANGO_SETTINGS_MODULE esta correctamente apuntando a config.settings. Ante errores de conexion a la base de datos revisa variables de entorno o el archivo .env, asegura que los servicios de base de datos esten en ejecucion y confirma la configuracion de settings de Django.
Script de verificacion de depuracion: crea un archivo debug_verification.py en la raiz del proyecto que configure la variable de entorno DJANGO_SETTINGS_MODULE con config.settings y llame a django.setup. Dentro de una funcion imprime un mensaje de inicio, llama a breakpoint para validar que el depurador pausa y luego importa django.conf settings para imprimir el valor de settings.DEBUG. Ejecuta este script con la configuracion de depuracion para comprobar que el entorno Django se carga correctamente desde VS Code.
Buenas practicas y siguientes pasos: practica colocando breakpoints en vistas reales y en logica de negocio, explora el panel Variables mientras procesas peticiones, usa la consola de depuracion para probar consultas ORM de manera interactiva y depura las pruebas para entender el flujo de ejecucion. Guarda las configuraciones de .vscode slash launch.json y .vscode slash settings.json en el control de versiones para que todo el equipo reutilice la misma configuracion de depuracion.
Sobre Q2BSTUDIO: en Q2BSTUDIO somos una empresa de desarrollo de software especializada en aplicaciones a medida y software a medida para clientes que necesitan soluciones escalables y seguras. Ofrecemos servicios de inteligencia artificial e ia para empresas, implementacion de agentes IA y proyectos de power bi para visualizacion y analitica. Nuestra oferta incluye ciberseguridad, servicios cloud aws y azure, y servicios inteligencia de negocio para impulsar decisiones basadas en datos. Contamos con experiencia en integrar modelos de inteligencia artificial en aplicaciones empresariales, automatizar procesos y garantizar la seguridad de los datos con buenas practicas de ciberseguridad.
Beneficios de esta configuracion: un entorno de depuracion bien configurado reduce el tiempo de resolucion de incidencias, facilita la implementacion de caracteristicas complejas como integracion con servicios cloud aws y azure y mejora la calidad del software a medida. Usando las herramientas de depuracion de VS Code podras iterar mas rapido, comprobar el comportamiento de la inteligencia artificial integrada y asegurar que los flujos de negocio funcionan correctamente antes de desplegar a produccion.
Palabras clave para mejorar posicionamiento: aplicaciones a medida, software a medida, inteligencia artificial, ciberseguridad, servicios cloud aws y azure, servicios inteligencia de negocio, ia para empresas, agentes IA, power bi. Contacta con Q2BSTUDIO para asesoramiento, desarrollo de proyectos a medida y soluciones avanzadas de inteligencia artificial y ciberseguridad que impulsen la transformacion digital de tu negocio.