2

我们昨天在远程服务器上安装了 django 工具栏,并一直在尝试让它显示在页面本身上。我已经在这里和谷歌上解决了所有关于它的问题,并且按照他们设想的方式进行了所有设置。像 INTERNAL_IPS、DEBUG、MIDDLEWARE_CLASSES 等。工具栏代码显示在源 html 中,但我在屏幕上看不到任何按钮。我已经准备好在这件事上拔头发了。请帮忙!下面我将粘贴在 html 中我的标记之前显示的工具栏代码。

<script type="text/javascript">
// <![CDATA[
var DEBUG_TOOLBAR_MEDIA_URL = "/__debug__/m/";
// ]]>
</script>
<script type="text/javascript" src="/__debug__/m/js/toolbar.min.js"></script>
<div id="djDebug" style="display:none;">
<div style="display:none;" id="djDebugToolbar">
    <ul id="djDebugPanelList">
    <li><a id="djHideToolBarButton" href="#" title="Hide Toolbar">Hide &raquo;   </a></li>
            <li>
            <a href="#" title="Versions" class="djDebugVersionPanel">
            Versions
            <br /><small>Django 1.4</small>
            </a>
            </li>
            <li>
            <a href="#" title="Resource Usage" class="djDebugTimerPanel">
                Time
            <br /><small>CPU: 220.01ms (251.44ms)</small>

编辑:我正在添加我的应用程序的 settings.py 部分:

if DEBUG:
INTERNAL_IPS = ('my machine's IP',)
MIDDLEWARE_CLASSES += (
    'debug_toolbar.middleware.DebugToolbarMiddleware',
)

INSTALLED_APPS += (
    'debug_toolbar',
)

DEBUG_TOOLBAR_PANELS = (
    'debug_toolbar.panels.version.VersionDebugPanel',
    'debug_toolbar.panels.timer.TimerDebugPanel',
    'debug_toolbar.panels.settings_vars.SettingsVarsDebugPanel',
    'debug_toolbar.panels.headers.HeaderDebugPanel',
    #'debug_toolbar.panels.profiling.ProfilingDebugPanel',
    'debug_toolbar.panels.request_vars.RequestVarsDebugPanel',
    'debug_toolbar.panels.sql.SQLDebugPanel',
    'debug_toolbar.panels.template.TemplateDebugPanel',
    'debug_toolbar.panels.cache.CacheDebugPanel',
    'debug_toolbar.panels.signals.SignalDebugPanel',
    'debug_toolbar.panels.logger.LoggingPanel',
)

DEBUG_TOOLBAR_CONFIG = {
    'INTERCEPT_REDIRECTS': False,
}

def show_toolbar(request):
    return True # Always show toolbar, for example purposes only.

DEBUG_TOOLBAR_CONFIG = {
'INTERCEPT_REDIRECTS': False,
'SHOW_TOOLBAR_CALLBACK': show_toolbar,
 # 'EXTRA_SIGNALS': ['myproject.signals.MySignal'],
'HIDE_DJANGO_SQL': False,
#  'TAG': 'html',
'DEBUG_TOOLBAR_MEDIA_URL' : '/usr/local/lib/python2.6/dist-packages/django_debug_toolbar-0.8.5-py2.6.egg/debug_toolbar/media'       
    }
4

3 回答 3

2

这是一个疯狂的猜测,但我之前遇到过这个问题:您的 html 代码不正确。我想我有一个丢失的标签,它阻止了调试工具栏的显示,但否则这不是问题。

禁用调试工具栏并检查您的页面是否正确(例如,使用 w3c 验证器)。如果您发现任何 html 问题,请更正它。它可能会使调试工具栏再次工作。

于 2012-06-12T12:06:36.837 回答
2

的含义SHOW_TOOLBAR_CALLBACK已更改为需要字符串且不支持可调用对象。

def custom_show_toolbar(request):
    return True  # Always show toolbar, for example purposes only.

DEBUG_TOOLBAR_CONFIG = {
    'SHOW_TOOLBAR_CALLBACK': 'your_project_name.settings.custom_show_toolbar',
}
于 2014-04-22T10:37:34.387 回答
1

调试工具栏的最新版本是 0.9.4 值得一试升级——也许在此过程中某个时候修复了一个错误。

于 2012-06-12T13:58:58.143 回答