2015-09-25 24 views
1

我有一個新項目,我試圖設置Django調試工具欄。首先,我嘗試了快速設置,只需將'debug_toolbar'添加到已安裝的應用程序列表中即可。有了這個,調試工具欄顯示了當我去我的根URL,但它不適用於我的應用程序的URL /視圖。我現在不應該這樣做,我的根URL沒有鏈接到視圖,所以它顯示了一個Django錯誤頁面。Django調試工具欄顯示在根URL,但不顯示在應用程序URL中

由於快速啓動不起作用,我採用了明確的設置。我更新了我的設置文件:

DEBUG_TOOLBAR_PATCH_SETTINGS = False 

MIDDLEWARE_CLASSES = (
    'django.contrib.sessions.middleware.SessionMiddleware', 
    'django.middleware.common.CommonMiddleware', 
    'django.middleware.csrf.CsrfViewMiddleware', 
    'django.contrib.auth.middleware.AuthenticationMiddleware', 
    'django.contrib.auth.middleware.SessionAuthenticationMiddleware', 
    'django.contrib.messages.middleware.MessageMiddleware', 
    'django.middleware.clickjacking.XFrameOptionsMiddleware', 
    'debug_toolbar.middleware.DebugToolbarMiddleware', 
) 

並更新了項目級urls.py:

if settings.DEBUG: # make sure the toolbar is above ?CKeditor and FeinCMS 
    import debug_toolbar 
    urlpatterns += patterns('', 
     url(r'^__debug__/', include(debug_toolbar.urls)), 
    ) 

但現在任何地方都不會顯示出來。

在我的應用程序視圖中,我已將{% debug %}添加到模板中。模板調試輸出似乎表明調試工具欄中間件已被加載:

'debug_toolbar': <module 'debug_toolbar' from '/home/joseph/.virtualenvs/myproject/local/lib/python2.7/site-packages/debug_toolbar/__init__.pyc'>, 
'debug_toolbar.collections': None, 
'debug_toolbar.compat': <module 'debug_toolbar.compat' from '/home/joseph/.virtualenvs/myproject/local/lib/python2.7/site-packages/debug_toolbar/compat.pyc'>, 
'debug_toolbar.django': None, 
'debug_toolbar.importlib': None, 
'debug_toolbar.middleware': <module 'debug_toolbar.middleware' from '/home/joseph/.virtualenvs/myproject/local/lib/python2.7/site-packages/debug_toolbar/middleware.pyc'>, 

我不知道爲什麼這不起作用。我的django版本是1.8,我的調試工具欄版本是1.3.2。

+0

您是否確定''django.contrib.staticfiles','在您的'INSTALLED_APPS'設置中? – Alasdair

+0

我做過了,它在那裏。 – Joseph

回答

1

我對此問題的解決方案是將<body></body>標記添加到模板。

我從django-debug-toolbar網站上的「Tips」部分了解了它。

只有在項目設置中DEBUG = True時,調試工具欄纔會顯示。如果響應的MIME類型是text/html或application/xhtml + xml 並且包含結束標記</body>,則它也會顯示。

來源:django-debug-toolbar.readthedocs.io/en/stable/tips.html

如果工具欄工程索引頁(或任何其他),但不是在另一個上,屍體失蹤標記可能的原因。