Cómo configurar django-debug-toolbar
Es de saber que nuestras aplicaciones corren internamente cientos de líneas de código en su núcleo. Son tantos los archivos que, es difícil darle seguimiento en su ejecución. Aunque es importante saber como funciona el núcleo para distinguir de donde vienen los errores, lo es también la forma en que construimos nuestra aplicación. Es por que veremos como configurar django-debug-toolbar
.
¿Qué es django-debug-toolbar?
Es una herramienta de depuración que nos muestra información detallada de lo que pasa en nuestra aplicación. Cada visualización de nuestro sitio internamente ejecuta cookies, sesiones, autenticaciones, consultas a base de datos, motores de plantillas, etc.
Con ésta valiosa herramienta podemos saber cualquier comportamiento, tiempos de ejecución, tiempos de respuesta, para poder optimizar al máximo las aplicaciones y saber qué estamos haciendo mal o cómo optimizar más nuestro código. Hay que saber distinguir la diferencia del sistema de errores de django y la del debug-toolbar.
Cuando django nos dice que algo estamos haciendo mal nos lo dice deteniendo la ejecución de la app, mientras tanto con el debug-toolbar es mera información. Vamos a configurarlo, verás que es muy sencillo.
Configuración
Primero necesitamos instalarlo en un nuestro entorno virtual.
(entornovirtual) $ pip install django-debug-toolbar
Luego lo configuramos en nuestra variable INSTALLED_APPS
en el archivo settings.py
.
INSTALLED_APPS = [
# ...
'django.contrib.staticfiles',
# ...
'debug_toolbar',
]
Observa detenidamente que django.contrib.staticfiles
está por encima de debug_toolbar
.
Nos falta la configuración de los estáticos y eso necesitamos hacerlo de acuerdo si la aplicación está en producción o en desarrollo. Como ésta herramienta es para desarrolladores, sólo la queremos ver funcionar mientras tiramos código. Entonces vamos a abrir el archivo urls.py
y a continuación dejo un ejemplo más completo de como hacerlo:
from django.contrib import admin
from django.urls import path, include
from django.conf.urls.static import static
from django.conf import settings
urlpatterns = [
path('admin/', admin.site.urls),
# Tus apps
# path('', include('apps.main.urls')),
# path('', include('apps.perfil.urls')),
] + static(settings.STATIC_URL, document_root=settings.STATIC_ROOT)
if settings.DEBUG:
import debug_toolbar
urlpatterns = urlpatterns + [
path('__debug__/', include(debug_toolbar.urls)),
] + static(settings.STATIC_URL, document_root=settings.STATIC_ROOT)
Ahora vamos con la variable MIDDLEWARE
del archivo settings.py
. Recuerda que de acuerdo a la versión de Django la variable puede ser MIDDLEWARE
o MIDDLEWARE_CLASSES
.
MIDDLEWARE = [
'django.middleware.security.SecurityMiddleware',
'django.contrib.sessions.middleware.SessionMiddleware',
'django.middleware.common.CommonMiddleware',
'django.middleware.csrf.CsrfViewMiddleware',
'django.contrib.auth.middleware.AuthenticationMiddleware',
'django.contrib.messages.middleware.MessageMiddleware',
'django.middleware.clickjacking.XFrameOptionsMiddleware',
# Configuración del Debug toolbar
'debug_toolbar.middleware.DebugToolbarMiddleware',
]
¡Una cosa más! Debemos de decirle que se muestre en nuestro navegador. Asignamos nuestra ip 127.0.0.1 a la variable INTERNAL_IPS
al settings.py
.
INTERNAL_IPS = [
'127.0.0.1',
]
Si la variable no está entonces agrégala a tu archivo y ya con ésto se mostrará en tus vistas. Para que vean, les daré una captura de una app social que estoy creando al momento de hacer ésta guía.
Eso es todo. Hasta la próxima. Bendiciones!