2011-02-17 5 views
5

django-debug-toolbar을 실행하는 데 문제가 있습니다. 나는 필요한 모든 정보를 INSTALLED_APPS, MIDDLEWARE_CLASSES에 추가했으며 내 ip는 INTERNAL_IPS 튜플에 있습니다. setup.py 스크립트를 실행했는데 django 나 apache에서 오류가 없으므로 모든 것이 잘로드되는 것 같습니다.Django 디버그 툴바 설치 문제

그러나 아무런 일도 발생하지 않습니다. 어떤 페이지에서도 툴바가 없으며 다른 누구도이 동작을 보지 못했습니까? 나는 명백한 것을 놓치고 있는가?

+0

디버그 모드 (DEBUG = True)가 켜져 있습니까? – Ski

+0

죄송합니다. 포함시켜야했는데,'DEBUG'도 가능합니다. – HurnsMobile

답변

8

나는 잠깐 동일한 문제가있었습니다.

관리자 패널에 로그인 해 보셨습니까? 툴바가 코드에 표시되지만 코드에 표시되지 않으면 템플릿의 여는 태그와 닫는 태그가 누락 된 것일 수 있습니다. 기본적으로 django 디버그 도구 모음은 BODY 태그에 붙습니다. 원하는 경우이 동작을 변경할 수 있습니다. 이 질문보기 : Django Debug Toolbar Only Working for Admin Section

+0

DOH! 이것은 분명히 문제 였고, 나는 그것이 작동하도록 희망을 포기했다. 대단히 감사합니다. – HurnsMobile

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'은 True이고, 아파치는 dev 서버가 아닙니다. 어떤 IP 문제도 배제하기 위해 지금 관리자로 로그인하고 있습니다. 이 코드 샘플로 무엇을 말하려고하는지 잘 모르겠습니다. – HurnsMobile

+0

어떤 테스트가 원인을 좁히지 못하고 있는지 확인하기 위해 미들웨어에 로그 문을 배치하는 것이 좋습니다. –

+0

이 답변이 실제로 질문에 어떻게 대답하는지 이해할 수 없습니다. 디버깅 방법입니다.하지만이 부분에 익숙하지 않은 경우에는 어떻게해야합니까? 실제 구성 오류가 무엇입니까? [똑같은 증상에 문제가 있습니다] –