2011-02-17 85 views
5

我遇到问题试图让django-debug-toolbar启动并运行。我已将所有必要的信息添加到INSTALLED_APPSMIDDLEWARE_CLASSES,并且我的IP位于INTERNAL_IPS元组中。我已经运行了setup.py脚本,并且一切似乎都正常,因为我从django或apache没有发现错误。Django调试工具栏安装问题

但是,什么也没有发生 - 任何页面上都没有工具栏,还有谁见过这种行为?我错过了明显的东西吗?

+0

是调试模式(DEBUG = True)吗? – Ski 2011-02-17 21:32:36

+0

对不起,我应该包括那个,'DEBUG`也被启用。 – HurnsMobile 2011-02-17 21:40:57

回答

8

我有同样的问题一段时间。

您是否尝试登录管理面板?如果工具栏显示在那里,但没有显示在您的代码中,则很可能是因为缺少模板中的开始和结束标记。默认情况下,django调试工具栏附加到BODY标签,但如果您愿意,可以更改此行为。看到这个问题:Django Debug Toolbar Only Working for Admin Section

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 
+0

`DEBUG`是真的,即时通讯使用Apache而不是开发服务器。为了排除我现在以管理员身份登录的任何IP问题,但仍然没有任何问题。我不确定你想用这个代码示例说什么。 – HurnsMobile 2011-02-17 22:17:23