2011-06-17 27 views
25

Django webapp'ım var. Debug_toolbar middleware ve modülünü kurdum. Ancak, webapps'lerimde hata ayıklama araç çubuğu yok.Django hata ayıklama araç çubuğunu nasıl görebilirim?

Hata ayıklama araç çubuğunu nasıl görüyorum? Yapmam gereken başka bir şey var mı? Web sayfam için belirli bir şablon kullanmam gerekir mi? README'deki tüm adımları takip ettim, ama bu yeterli değil - başka bir bağımlılık ya da kaçırdığım başka bir şey var gibi görünüyor. Benim webapp URL modellerinin setinde bakarken

Ayrıca, ayıklama önek tanınan modelleri arasında bulunan değil olduğunu. Modüllerin aktif debug_toolbar uygulaması tarafından yüklendiğinden emin olmak için debug_toolbar'daki urls.py dosyasına bir giriş yaptım ve öyle.

Bu tamamen beni gizlemişti, ve bunu gerçekten göstermek için ne yapmanız gerektiğine dair bir Google ya da README bulamıyor ya da gereksinimlerin neler olduğunu, böylece sağlayabileceğiniz herhangi bir işaretçi harika olabilir!

Düzenleme: Bu, tarayıcıyı çalıştıran makineden Django/Apache'yi çalıştıran makineye bir SSH tüneli ile test ediyordu. Bu durumda, uzak makine için gerçekte görülen IP adresi, düşündüğüm gibi değildi, bu nedenle "iyi" IP'lerin listesi, tarayıcının görünen uzak makinesini içermiyordu. Sorunu çözerek düzeltmek!

+3

Html sayfanızda etiketi var mı? Ayrıca, hata ayıklama araç çubuğu için urls.py'ye bir şey eklemeniz gerekmez. UPD. Sayfanın kaynağını gördün mü? – tony

cevap

44
  1. Ben HTML sayfası kapalı vücut etiketi, content="text/html" ile meta etiketi içermelidir bildiği gibi.

  2. Tüm hata ayıklama araç çubuğunun ayarlarının ana ayarlardan nasıl ayrıldığını tercih ederim. Yani

    #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, 
        } 
    

(Notun gibi settings.py şeyin sonuna koymak deneyin: lapis akım tarafından kullanılan isimleri eşleştirmek için yukarıdaki yapılandırmaları güncellenmiş (1.3.2, bu Güncelleme anında Django Hata Ayıklama Araç Çubuğunun sürümü http://django-debug-toolbar.readthedocs.org/en/0.10.0/panels.html'a göre, bu soru orijinal olarak yanıtlandığında, orijinal sürümleri (örn. debug_toolbar.panels.sql.SQLDebugPanel vs 1.3.2'deki gibi debug_toolbar.panels.sql.SQLPanel kullanıldı) doğruydu.)

(not: Django 1.10'dan sonra, MIDDLEWARE_CLASSESMIDDLEWARE olmalıdır.)

+0

Teşekkürler! Bunu bilmek güzel. Benim özel sorunumun farklı olduğu ortaya çıktı, ama bu da yararlı! –

+0

@Jon, özel problemin neydi? Bir başkası da aynı soruna sahip olabilir ve neyin kontrol edileceğine dair hızlı bir fikirden yararlanabilir. –

+3

Asıl sorunum, yayının sonundaki düzenlemede gösteriliyor: Düzenle: Bu, tarayıcıyı çalıştıran makineden Django/Apache çalışan makineye bir SSH tüneli ile test ediyordu. Bu durumda, uzak makine için gerçekte görülen IP adresi, düşündüğüm gibi değildi, bu nedenle "iyi" IP'lerin listesi, tarayıcının görünen uzak makinesini içermiyordu. Sorunu çözerek düzeltmek! –

İlgili konular