2011-06-17 61 views
25

我有一个Django的web应用程序。我已经安装了debug_toolbar中间件和模块。 但是,我的webapps没有调试工具栏拉出。如何查看Django调试工具栏?

我该如何看到调试工具栏?我还需要做些什么吗? 我是否需要为我的webapp使用特定的模板?我已经按照自述文件中的所有步骤进行了操作,但这还不够 - 似乎还有其他一些依赖项,或者我错过了其他的东西。

而且,看着我的web应用程序的URL模式集合时,将调试前缀公认的模式中找到。我已经在debug_toolbar中放入了一个urls.py日志,以确保模块正在被激活的debug_toolbar应用程序加载,并且它是。

这让我完全迷惑,而且我不知道该怎么做才能让这个实际显示出来,或者什么要求是什么,所以你可以提供的任何指针都很棒!

编辑:事实证明,我使用SSH隧道从运行浏览器的机器到运行Django/Apache的机器进行了测试。在这种情况下,远程机器实际看到的IP地址不是我认为的那样,所以“好”IP列表中没有包含浏览器的明显远程机器。解决这个问题!

+3

您的html页面是否有标记?你也不需要在调试工具栏中加入urls.py。 UPD。你有没有看到你的网页的来源? – tony

回答

44
  1. 因为我知道你的HTML页面必须包含封闭的身体标记,meta标记content="text/html"

  2. 我更喜欢所有调试工具栏的设置与主设置分离的方式。所以尽量把在settings.py东西到底喜欢

    #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, 
        } 
    

(编辑注:青金石更新上面的CONFIGS以匹配当前所使用的名称(在此更新的时候,1.3.2 )版本的Django调试工具栏。根据http://django-debug-toolbar.readthedocs.org/en/0.10.0/panels.html,原始版本(使用例如debug_toolbar.panels.sql.SQLDebugPanel vs 1.3.2中的debug_toolbar.panels.sql.SQLPanel)在原始回答时是正确的。)

(注意:在Django 1.10之后,MIDDLEWARE_CLASSES应该是MIDDLEWARE。)

+0

谢谢!这很好。原来我的具体问题不同,但这也有帮助! –

+0

@Jon,你的具体问题是什么?其他人可能会遇到同样的问题,并会从快速了解要检查的内容中​​受益。 –

+3

我的实际问题显示在帖子末尾的编辑中:编辑:事实证明,我使用SSH隧道从运行浏览器的计算机到运行Django/Apache的计算机进行了测试。在这种情况下,远程机器实际看到的IP地址不是我认为的那样,所以“好”IP列表中没有包含浏览器的明显远程机器。解决这个问题! –