我们昨天在远程服务器上安装了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 » </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>
编辑:我添加了app的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'
}
答案 0 :(得分:2)
这是一个疯狂的猜测,但我之前遇到过这个问题:你的HTML代码不正确。我认为我有一个缺少标签,阻止调试工具栏显示,但否则不是问题。
禁用调试工具栏并检查您的页面是否正确(例如,使用w3c验证程序)。如果您发现任何HTML问题,请更正它。它可能会使调试工具栏再次工作。
答案 1 :(得分: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',
}
答案 2 :(得分:1)
调试工具栏的最新版本是0.9.4升级是值得的 - 可能在某个时候修复了一个错误。