Hay muchas partes móviles debajo del capó de una aplicación web Django. Gran parte es muy transparente para el usuario del sitio, pero es importante que el desarrollador web sepa cómo funcionan las cosas para comprender cómo depurar problemas. Django tiene una barra de herramientas de depuración que puede instalar para permitir una inspección completa del entorno de Django durante el desarrollo. Una vez instalada, si carga su aplicación web localmente, verá una gran cantidad de información en un panel de depuración que ahora se muestra en el lado derecho de su navegador. En este tutorial, instalaremos la barra de herramientas de depuración de Django y la usaremos para inspeccionar cosas como configuraciones, encabezados, solicitudes HTTP, consultas SQL, archivos estáticos, plantillas, señales y más.


Instalar la barra de herramientas de depuración de Django

La instalación de la barra de herramientas de depuración es muy sencilla. El primer paso es simplemente usar pip para agregar el paquete python a su sistema. En la línea de comando, ingrese pip install django-debug-toolbar .

djangotutorial $ pip install django-debug-toolbar
Requisito ya satisfecho: django-debug-toolbar

Ya habíamos instalado la barra de herramientas, por lo que recibimos el mensaje de que el requisito ya está satisfecho. ¡Excelente!


Configurar la barra de herramientas de depuración

Instalar el paquete de Python en su máquina no es suficiente para que la barra de herramientas de depuración se muestre en su navegador web. Necesitamos configurar la barra de herramientas de depuración dentro de la configuración de Django para activarla. Esto se hace en el archivo settings.py y el archivo urls.py.

djangotutorial / settings.py
En nuestro archivo de configuración, hicimos los cambios resaltados a continuación. Estos se encuentran en las variables INSTALLED_APPS, MIDDLEWARE e INTERNAL_IPS.

djangotutorial / urls.py
En urls.py, solo necesitamos hacer algunas ediciones. Así es como configuramos el nuestro.


¡Enciendan sus motores! (Servidores)

Todo está en su lugar y ahora podemos ejecutar nuestro servidor Python con el comando python manage.py runserver . Una vez que el servidor se está ejecutando, cargamos la página de inicio del proyecto en el que hemos estado trabajando recientemente y ¡vemos algo nuevo!

djando visualización de la barra de herramientas de depuración

La captura de pantalla anterior es la página de inicio del sitio con la nueva barra de herramientas de depuración de Django que se muestra en el lado derecho. Como puede ver, ofrece varios paneles como versiones, hora, configuración, encabezados, solicitud, SQL, archivos estáticos, plantillas, caché, señales, registro y creación de perfiles.

Configuraciones

El panel de configuración proporciona información sobre el proyecto actual de Django. Al hacer clic en el panel de configuración, se muestran todas las configuraciones de nivel de proyecto.

configuración de la barra de herramientas de depuración de django

Encabezados

El panel de encabezados muestra información sobre los encabezados de solicitud, los encabezados de respuesta y el entorno WSGI. Todo esto es útil para comprender el ciclo de solicitud-respuesta de cualquier página de su aplicación.

encabezados de la barra de herramientas de depuración de django

Solicitud

El panel de solicitud tiene información excelente sobre vistas, cookies, datos de sesión y si hay alguna variable GET o POST presente. Estamos visitando la página de inicio aquí, y podemos ver exactamente con la función de vista que es responsable de renderizar la plantilla. También se muestran los argumentos de la vista, los argumentos de las palabras clave y el nombre de la URL. La barra de herramientas de depuración es una herramienta fantástica para comprender realmente cómo funcionan las cosas en su aplicación Django.

barra de herramientas de depuración de django panel de solicitud

SQL

El panel SQL de la barra de herramientas de depuración es realmente genial. Al hacer clic en este panel, se muestran las consultas SQL necesarias para proporcionar datos para la página determinada. Además, en la visualización de las consultas SQL, puede hacer clic en los botones Sel o Expl para ejecutar o explicar la consulta SQL en cuestión.

depurar consulta sql django

A continuación, se muestra un ejemplo de cómo ejecutar una de las consultas que se muestran.
consulta sql ejecutada depuración de django

Entonces ahora sabemos que al cargar la página de inicio de nuestro sitio, una de las consultas que se realizan es la siguiente.

SELECCIONE "djangodogs_dog". "Id",
       "djangodogs_dog". "nombre",
       "djangodogs_dog". "raza",
       "djangodogs_dog". "descripción"
  DE "djangodogs_dog"

¡Muy aseado! Sin embargo, ¿cómo sucede esto? Quizás recuerde que cuando creamos este proyecto de Django, en realidad nunca escribimos ninguna declaración SQL en el código Python. Esto se debe a que Django tiene su propio ORM incorporado o mapeador relacional de objetos. Lo que eso significa es que solo tenemos que usar cualquiera de los métodos proporcionados por Django ORM, y ejecuta la consulta SQL necesaria para nosotros. Entonces, el código de nuestro proyecto que está produciendo la consulta SQL que vemos arriba se encuentra en el archivo djangodogs / views.py . Esa línea de código está resaltada aquí.

Como puede ver, esto es muy útil para comprender cómo su aplicación Django interactúa con la base de datos. Además, a medida que sus consultas a la base de datos se vuelven más complejas, puede usar la barra de herramientas de depuración para ver las declaraciones SQL exactas que el ORM de Django envía a la base de datos.


Resumen de la barra de herramientas de depuración de Django

La barra de herramientas de depuración de Django es una gran herramienta para desarrollar con Django. Tiene un conjunto configurable de paneles que muestran todo tipo de información útil de depuración sobre su proyecto Django. Cuando se hace clic en estos paneles, muestran información detallada como vimos en los ejemplos anteriores.