2011-06-17 110 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列表中沒有包含瀏覽器的明顯遠程機器。解決這個問題! –