Django调试工具栏安装问题

5 投票
2 回答
3902 浏览
提问于 2025-04-16 12:02

我在尝试让 django-debug-toolbar 正常工作时遇到了一些问题。我已经把所有需要的信息添加到了 INSTALLED_APPSMIDDLEWARE_CLASSES 中,而且我的IP地址也在 INTERNAL_IPS 的列表里。我运行了 setup.py 脚本,一切看起来都正常,因为我没有收到来自django或apache的错误信息。

但是,什么都没有发生——在任何页面上都看不到工具栏,其他人有遇到过这种情况吗?我是不是漏掉了什么明显的东西?

2 个回答

2

我会选择做两件事情中的一件:

在中间件的 _show_toolbar 方法里插入 import pdb; pdb.set_trace(),这样可以查看是在哪个地方出错;或者在中间件里加一些打印语句,看看是哪个检查失败了。你可以根据自己更习惯的方式来选择。

def _show_toolbar(self, request, response=None):
        if not settings.DEBUG or not getattr(settings, 'DEBUG_TOOLBAR', True) or getattr(settings, 'TEST', False):
            return False

        if request.path.startswith(settings.MEDIA_URL):
            return False

        if response:
            if getattr(response, 'skip_debug_response', False):
                return False
            if response.status_code >= 300 and response.status_code < 400:
                return False

        # Allow access if remote ip is in INTERNAL_IPS or
        # the user doing the request is logged in as super user.
        if (not request.META.get('REMOTE_ADDR') in settings.INTERNAL_IPS and 
           (not request.user.is_authenticated() or not request.user.is_superuser)):
            return False
        return True
8

我之前也遇到过这个问题。

你有没有尝试登录到管理面板?如果在管理面板里工具栏能显示,但在你的代码中却不显示,那很可能是你的模板里缺少了开始和结束的标签。默认情况下,django调试工具栏是附加在BODY标签上的,不过如果你想的话,可以改变这个设置。你可以看看这个问题:Django调试工具栏只在管理部分工作

撰写回答