2011-06-17 21 views
25

Mam aplikację webową Django. Zainstalowałem middleware i moduł debug_toolbar. Jednak moje aplikacje internetowe nie mają rozwiniętego paska narzędzi debugowania.Jak wyświetlić pasek narzędzi debugowania Django?

Jak wyświetlić pasek narzędzi debugowania? Czy jest coś więcej, co muszę zrobić? Czy muszę użyć konkretnego szablonu dla mojej aplikacji internetowej? Postępowałem zgodnie ze wszystkimi krokami w README, ale to nie wystarcza - wydaje się, że istnieje jakaś inna zależność lub coś, czego mi brakuje.

Również, gdy patrząc na zestaw wzorców adresów URL dla mojego webapp The debug prefiks jest nie znaleźć wśród uznanych wzorów. Wprowadziłem dziennik urls.py w debug_toolbar, aby upewnić się, że moduły są ładowane przez aktywowaną aplikację debug_toolbar i tak właśnie jest.

To mnie totalnie zaskoczyło i nie mogę znaleźć Google ani README na temat tego, co zrobić, żeby to się rzeczywiście ukazało, lub jakie są wymagania, więc każdy wskaźnik, jaki możesz podać, byłby świetny!

Edycja: Okazuje się, testowałem to z tunelem SSH z komputera z przeglądarką do komputera z uruchomionym Django/Apache. W tym przypadku adres IP rzeczywiście widoczny dla zdalnego komputera nie był tym, za co go uważałem, więc lista "dobrych" adresów IP nie zawierała widocznej maszyny zdalnej przeglądarki. Naprawienie, które naprawiło problem!

+3

Czy Twoja strona HTML ma znacznik ? Nie musisz też umieszczać czegoś w urls.py na pasku narzędzi debugowania. UPD. Czy widziałeś źródło swojej strony? – tony

Odpowiedz

44
  1. Jak wiem, strona HTML musi zawierać zamknięty znacznik, metatag z numerem content="text/html".

  2. Preferuję sposób, w jaki wszystkie ustawienia paska narzędzi debugowania są oddzielone od ustawień głównych. Więc spróbuj umieścić w końcu coś settings.py jak

    #debug_toolbar settings 
    if DEBUG: 
        INTERNAL_IPS = ('127.0.0.1',) 
        MIDDLEWARE_CLASSES += (
         'debug_toolbar.middleware.DebugToolbarMiddleware', 
        ) 
    
        INSTALLED_APPS += (
         'debug_toolbar', 
        ) 
    
        DEBUG_TOOLBAR_PANELS = [ 
         'debug_toolbar.panels.versions.VersionsPanel', 
         'debug_toolbar.panels.timer.TimerPanel', 
         'debug_toolbar.panels.settings.SettingsPanel', 
         'debug_toolbar.panels.headers.HeadersPanel', 
         'debug_toolbar.panels.request.RequestPanel', 
         'debug_toolbar.panels.sql.SQLPanel', 
         'debug_toolbar.panels.staticfiles.StaticFilesPanel', 
         'debug_toolbar.panels.templates.TemplatesPanel', 
         'debug_toolbar.panels.cache.CachePanel', 
         'debug_toolbar.panels.signals.SignalsPanel', 
         'debug_toolbar.panels.logging.LoggingPanel', 
         'debug_toolbar.panels.redirects.RedirectsPanel', 
        ] 
    
        DEBUG_TOOLBAR_CONFIG = { 
         'INTERCEPT_REDIRECTS': False, 
        } 
    

(Edycja Uwaga: lapis zaktualizował configs powyższe pasujące nazwy stosowane przez prąd (w czasie tej aktualizacji 1.3.2) na pasku narzędzi Django Debug Toolbar: Na http://django-debug-toolbar.readthedocs.org/en/0.10.0/panels.html, oryginalne wersje (używane np. debug_toolbar.panels.sql.SQLDebugPanel vs debug_toolbar.panels.sql.SQLPanel jak w 1.3.2) były poprawne, gdy odpowiedź na to pytanie była oryginalna.)

(uwaga: po Django 1.10, MIDDLEWARE_CLASSES powinno być MIDDLEWARE.)

+0

Dzięki! Dobrze wiedzieć. Okazało się, że mój konkretny problem był inny, ale to też jest pomocne! –

+0

@Jon, jaki był twój konkretny problem? Ktoś inny może mieć ten sam problem i skorzysta z szybkiego pomysłu, co sprawdzić. –

+3

Rzeczywisty problem pojawia się w edycji na końcu wpisu: Edit: Okaże się, testowałem to z tunelem SSH z komputera z przeglądarką do komputera z uruchomionym Django/Apache. W tym przypadku adres IP rzeczywiście widoczny dla zdalnego komputera nie był tym, za co go uważałem, więc lista "dobrych" adresów IP nie zawierała widocznej maszyny zdalnej przeglądarki. Naprawienie, które naprawiło problem! –

Powiązane problemy