2011-06-17 11 views
25

Tengo una aplicación web Django. He instalado el middleware y el módulo debug_toolbar. Sin embargo, mis webapps no tienen la barra de herramientas de depuración extraíble.¿Cómo veo la barra de herramientas de depuración Django?

¿Cómo veo realmente la barra de herramientas de depuración? ¿Hay algo más que deba hacer? ¿Debo usar una plantilla particular para mi aplicación web? He seguido todos los pasos en el archivo README, pero eso no es suficiente, parece que me falta alguna otra dependencia o algo más.

Además, cuando se mira en el conjunto de patrones de URL para mi aplicación web, la depuración prefijo es no se encuentran entre los patrones reconocidos. He puesto un registro en urls.py en debug_toolbar para asegurarme de que la aplicación activada debug_toolbar está cargando los módulos, y así es.

Esto me tiene totalmente perplejo, y no puedo encontrar Google o README sobre qué hacer para que esto realmente se muestre, o cuáles son los requisitos, ¡así que cualquier puntero que pueda proporcionar sería genial!

Editar: Resultó que estaba probando esto con un túnel SSH desde la máquina que ejecuta el navegador hasta la máquina que ejecuta el Django/Apache. En este caso, la dirección IP que se ve realmente para la máquina remota no era lo que yo pensaba, así que la lista de "buenas" direcciones IP no contenía la aparente máquina remota del navegador. ¡Reparado que solucionó el problema!

+3

¿Su página html tiene etiqueta? Además, no es necesario colocar algo en urls.py para depurar-barra de herramientas. UPD. ¿Has visto la fuente de tu página? – tony

Respuesta

44
  1. Como sé que su página HTML debe contener una etiqueta de cuerpo cerrado, metaetiqueta con content="text/html".

  2. Prefiero el camino cuando todas las configuraciones de la barra de herramientas de depuración se separan de la configuración principal. Así que trate de poner en el final de algo settings.py como

    #debug_toolbar settings 
    if DEBUG: 
        INTERNAL_IPS = ('127.0.0.1',) 
        MIDDLEWARE_CLASSES += (
         'debug_toolbar.middleware.DebugToolbarMiddleware', 
        ) 
    
        INSTALLED_APPS += (
         'debug_toolbar', 
        ) 
    
        DEBUG_TOOLBAR_PANELS = [ 
         'debug_toolbar.panels.versions.VersionsPanel', 
         'debug_toolbar.panels.timer.TimerPanel', 
         'debug_toolbar.panels.settings.SettingsPanel', 
         'debug_toolbar.panels.headers.HeadersPanel', 
         'debug_toolbar.panels.request.RequestPanel', 
         'debug_toolbar.panels.sql.SQLPanel', 
         'debug_toolbar.panels.staticfiles.StaticFilesPanel', 
         'debug_toolbar.panels.templates.TemplatesPanel', 
         'debug_toolbar.panels.cache.CachePanel', 
         'debug_toolbar.panels.signals.SignalsPanel', 
         'debug_toolbar.panels.logging.LoggingPanel', 
         'debug_toolbar.panels.redirects.RedirectsPanel', 
        ] 
    
        DEBUG_TOOLBAR_CONFIG = { 
         'INTERCEPT_REDIRECTS': False, 
        } 
    

(Editar nota: lapislázuli actualizan las configuraciones anteriores para que coincidan con los nombres utilizados por la corriente (en el momento de esta actualización, 1.3.2) versión de la barra de herramientas de depuración Django. Por http://django-debug-toolbar.readthedocs.org/en/0.10.0/panels.html, las versiones originales (que utilizaron, por ejemplo, debug_toolbar.panels.sql.SQLDebugPanel vs debug_toolbar.panels.sql.SQLPanel como en 1.3.2) fueron correctas cuando esta pregunta fue respondida originalmente.)

(nota: después de Django 1.10, MIDDLEWARE_CLASSES debe ser MIDDLEWARE.)

+0

Gracias! Es bueno saberlo. Resultó que mi problema específico era diferente, ¡pero esto también es útil! –

+0

@Jon, ¿cuál fue tu problema específico? Alguien más podría tener el mismo problema y se beneficiaría de una idea rápida de qué verificar. –

+3

Mi problema real se muestra en la edición al final de la publicación: Editar: Resultó que estaba probando esto con un túnel SSH desde la máquina que ejecuta el navegador hasta la máquina que ejecuta Django/Apache. En este caso, la dirección IP que se ve realmente para la máquina remota no era lo que yo pensaba, así que la lista de "buenas" direcciones IP no contenía la aparente máquina remota del navegador. ¡Reparado que solucionó el problema! –

Cuestiones relacionadas