无法让 django-debug-toolbar 出现
Cannot get django-debug-toolbar to appear
无论我做什么,我就是无法让 django-debug-toolbar 出现。我已经尝试了 every answer on this question 中建议的所有内容。
- 我的设置中有
DEBUG=True
- 我在
INSTALLED_APPS
中有 django.contrib.staticfiles
和 debug_toolbar
- 我
'debug_toolbar.middleware.DebugToolbarMiddleware'
在 MIDDLEWARE_CLASSES
中排名靠前
- 我的设置中有
INTERNAL_IPS = ()
- 我尝试在视图中添加
print("IP Address for debug-toolbar: " + request.META['REMOTE_ADDR'])
,它打印了 IP Address for debug-toolbar: 127.0.0.1
- 我的模板中有一个结尾
</body></html>
- 我的 virtualenv 中有 运行
pip install django-debug-toolbar
,没有任何问题
- 我有 运行
python manage.py collectstatic
并且我的静态文件中有一个 debug_toolbar
目录
当我 运行 应用程序时,我在控制台中没有看到任何包含 django_debug_toolbar 的 URL 请求,因此我怀疑是应用程序未加载。
我也没有在开发者控制台中看到任何失败的请求。
我已经阅读了 django-debug-toolbar installation docs 并且没有想法。
有人对调试有什么建议吗?我是 运行ning OSX 和 Django 1.7。奇怪的是 debug-toolbar 看起来很好——我想我做了一些调整导致它消失了,但我不知道是什么。
更新:我什至尝试将此添加到我的设置文件中,这应该会强制显示工具栏:
def show_toolbar(request):
return True
SHOW_TOOLBAR_CALLBACK = show_toolbar
但这并没有帮助。
我也试过在我看来故意抛出一个异常,这样我就可以检查 DEBUG 是否打开,所有设置是否如上。他们是,但仍然没有工具栏!
更新 2:当我设置 INTERNAL_IPS=('127.0.0.1',)
时,我开始在控制台中看到调试工具栏请求,但页面上没有工具栏。
下面的 HTML 出现在我的页面中 - 所以工具栏在那里,但它不可见,因为它已经设置了 display=none
:
具有 display: none;
的所有 div 实际上都表现正常。在您实际在工具栏中单击它们之前,它们不会更改为 display: block;
。
用于切换工具栏的按钮是带有 id="djDebugToolbarHandle"
的 div。正如您在控制台中所见,此按钮的 top
位置为 2310px
。这意味着它正在呈现,但它就在页面下方。
尝试在控制台中键入以下内容以重置其位置:
document.getElementById('djDebugToolbarHandle').style.top="30px";
我遇到了同样的问题,但在 dvl's comment on this page 之后设法解决了它。以下是修复摘要:
在settings.py
if DEBUG:
MIDDLEWARE += (
'debug_toolbar.middleware.DebugToolbarMiddleware',
)
INSTALLED_APPS += (
'debug_toolbar',
)
INTERNAL_IPS = ('127.0.0.1', )
DEBUG_TOOLBAR_CONFIG = {
'INTERCEPT_REDIRECTS': False,
}
在项目 urls.py 中,将此 url 模式添加到末尾:
from django.conf import settings
if settings.DEBUG:
import debug_toolbar
urlpatterns += [
url(r'^__debug__/', include(debug_toolbar.urls)),
]
在虚拟机或远程机器上进行开发时,为像我这样的新闻用户提供的一些信息
将此行添加到 views.py 文件中
print("IP Address for debug-toolbar: " + request.META['REMOTE_ADDR'])
views调用时,可以在shell
中看到客户端IP
您必须将此 IP 添加到 settings.py 文件
INTERNAL_IPS = ('IP')
我遇到了同样的问题。在我的 settings.py 中更改 finder 模块对我有用:
STATICFILES_FINDERS = (
#'django.contrib.staticfiles.finders.FileSystemFinder', #THIS BREAKES debug_toolbar
'django.contrib.staticfiles.finders.AppDirectoriesFinder', #THIS WORKS
)
确保在此更改后清理浏览器缓存。
但是在这之后,由于 this issue,Django 在 collectstatic
期间给了我错误信息。我解决了在 settings.py:
中创建两个配置的问题
class Production(Base):
DEBUG = False
STATICFILES_FINDERS = (
'django.contrib.staticfiles.finders.FileSystemFinder',
)
class Develop(Base):
DEBUG = True
STATICFILES_FINDERS = (
'django.contrib.staticfiles.finders.AppDirectoriesFinder',
)
希望对您有所帮助。
django-debug-toolbar 可能出现但未正确显示(项目卡在 "Loading" 中)的一个原因是 manage.py collectstatic 尚未 运行。只是想我会 post 以防万一它对某人有帮助。
我和 django-toolbar
有同样的问题
所有标签都有 class djdt-hidden
和隐藏
<div id="djDebug" class="djdt-hidden" dir="ltr" data-default-show="true">
我使用 pycharm
和 GoogleChrome
只需使用 FireFox
即可修复
无论我做什么,我就是无法让 django-debug-toolbar 出现。我已经尝试了 every answer on this question 中建议的所有内容。
- 我的设置中有
DEBUG=True
- 我在
INSTALLED_APPS
中有 - 我
'debug_toolbar.middleware.DebugToolbarMiddleware'
在MIDDLEWARE_CLASSES
中排名靠前
- 我的设置中有
INTERNAL_IPS = ()
- 我尝试在视图中添加
print("IP Address for debug-toolbar: " + request.META['REMOTE_ADDR'])
,它打印了IP Address for debug-toolbar: 127.0.0.1
- 我的模板中有一个结尾
</body></html>
- 我的 virtualenv 中有 运行
pip install django-debug-toolbar
,没有任何问题 - 我有 运行
python manage.py collectstatic
并且我的静态文件中有一个debug_toolbar
目录
django.contrib.staticfiles
和 debug_toolbar
当我 运行 应用程序时,我在控制台中没有看到任何包含 django_debug_toolbar 的 URL 请求,因此我怀疑是应用程序未加载。
我也没有在开发者控制台中看到任何失败的请求。
我已经阅读了 django-debug-toolbar installation docs 并且没有想法。
有人对调试有什么建议吗?我是 运行ning OSX 和 Django 1.7。奇怪的是 debug-toolbar 看起来很好——我想我做了一些调整导致它消失了,但我不知道是什么。
更新:我什至尝试将此添加到我的设置文件中,这应该会强制显示工具栏:
def show_toolbar(request):
return True
SHOW_TOOLBAR_CALLBACK = show_toolbar
但这并没有帮助。
我也试过在我看来故意抛出一个异常,这样我就可以检查 DEBUG 是否打开,所有设置是否如上。他们是,但仍然没有工具栏!
更新 2:当我设置 INTERNAL_IPS=('127.0.0.1',)
时,我开始在控制台中看到调试工具栏请求,但页面上没有工具栏。
下面的 HTML 出现在我的页面中 - 所以工具栏在那里,但它不可见,因为它已经设置了 display=none
:
具有 display: none;
的所有 div 实际上都表现正常。在您实际在工具栏中单击它们之前,它们不会更改为 display: block;
。
用于切换工具栏的按钮是带有 id="djDebugToolbarHandle"
的 div。正如您在控制台中所见,此按钮的 top
位置为 2310px
。这意味着它正在呈现,但它就在页面下方。
尝试在控制台中键入以下内容以重置其位置:
document.getElementById('djDebugToolbarHandle').style.top="30px";
我遇到了同样的问题,但在 dvl's comment on this page 之后设法解决了它。以下是修复摘要:
在settings.py
if DEBUG:
MIDDLEWARE += (
'debug_toolbar.middleware.DebugToolbarMiddleware',
)
INSTALLED_APPS += (
'debug_toolbar',
)
INTERNAL_IPS = ('127.0.0.1', )
DEBUG_TOOLBAR_CONFIG = {
'INTERCEPT_REDIRECTS': False,
}
在项目 urls.py 中,将此 url 模式添加到末尾:
from django.conf import settings
if settings.DEBUG:
import debug_toolbar
urlpatterns += [
url(r'^__debug__/', include(debug_toolbar.urls)),
]
在虚拟机或远程机器上进行开发时,为像我这样的新闻用户提供的一些信息
将此行添加到 views.py 文件中
print("IP Address for debug-toolbar: " + request.META['REMOTE_ADDR'])
views调用时,可以在shell
中看到客户端IP您必须将此 IP 添加到 settings.py 文件 INTERNAL_IPS = ('IP')
我遇到了同样的问题。在我的 settings.py 中更改 finder 模块对我有用:
STATICFILES_FINDERS = (
#'django.contrib.staticfiles.finders.FileSystemFinder', #THIS BREAKES debug_toolbar
'django.contrib.staticfiles.finders.AppDirectoriesFinder', #THIS WORKS
)
确保在此更改后清理浏览器缓存。
但是在这之后,由于 this issue,Django 在 collectstatic
期间给了我错误信息。我解决了在 settings.py:
class Production(Base):
DEBUG = False
STATICFILES_FINDERS = (
'django.contrib.staticfiles.finders.FileSystemFinder',
)
class Develop(Base):
DEBUG = True
STATICFILES_FINDERS = (
'django.contrib.staticfiles.finders.AppDirectoriesFinder',
)
希望对您有所帮助。
django-debug-toolbar 可能出现但未正确显示(项目卡在 "Loading" 中)的一个原因是 manage.py collectstatic 尚未 运行。只是想我会 post 以防万一它对某人有帮助。
我和 django-toolbar
所有标签都有 class djdt-hidden
和隐藏
<div id="djDebug" class="djdt-hidden" dir="ltr" data-default-show="true">
我使用 pycharm
和 GoogleChrome
只需使用 FireFox
即可修复