2011-06-17 30 views
25

Tôi có một webapp Django. Tôi đã cài đặt phần mềm trung gian và mô-đun debug_toolbar. Tuy nhiên, các ứng dụng web của tôi không có thanh công cụ gỡ lỗi.Làm cách nào để xem thanh công cụ gỡ lỗi Django?

Làm cách nào để thực sự thấy thanh công cụ gỡ lỗi? Tôi có cần phải làm gì nữa không? Tôi có cần sử dụng một mẫu cụ thể cho webapp của mình không? Tôi đã theo tất cả các bước trong README, nhưng điều đó là không đủ - dường như có một số phụ thuộc khác, hoặc cái gì khác mà tôi đang thiếu.

Ngoài ra, khi xem tập hợp các mẫu URL cho ứng dụng web của tôi, tiền tố gỡ lỗikhông phải là được tìm thấy trong các mẫu được công nhận. Tôi đã đặt một bản ghi trong urls.py trong debug_toolbar để đảm bảo rằng các mô-đun đang được tải bởi ứng dụng debug_toolbar đã được kích hoạt, và nó được.

Điều này khiến tôi hoàn toàn hoang mang, và tôi không thể tìm thấy Google hay README về những gì cần làm để thực hiện điều này, hoặc những yêu cầu là gì, vì vậy bất kỳ con trỏ nào bạn có thể cung cấp đều tuyệt vời!

Chỉnh sửa: Hóa ra, tôi đã thử nghiệm điều này bằng đường hầm SSH từ máy đang chạy trình duyệt tới máy chạy Django/Apache. Trong trường hợp này, địa chỉ IP thực sự được thấy cho máy từ xa không phải là thứ tôi nghĩ, vì vậy danh sách các IP "tốt" không chứa máy từ xa rõ ràng của trình duyệt. Sửa lỗi đã khắc phục được sự cố!

+3

Trang html của bạn có thẻ không? Ngoài ra bạn không cần phải đặt một cái gì đó trong urls.py cho debug-toolbar. UPD. Bạn đã xem nguồn của trang chưa? – tony

Trả lời

44
  1. Như tôi biết trang HTML của bạn phải chứa thẻ body đóng, thẻ meta với content="text/html".

  2. Tôi thích cách khi tất cả cài đặt của thanh công cụ gỡ lỗi tách biệt khỏi cài đặt chính. Vì vậy, cố gắng đưa vào cuối settings.py cái gì đó như

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

(Chỉnh sửa ghi chú: lapis cập nhật các configs trên để phù hợp với tên sử dụng bởi hiện tại (tại thời điểm cập nhật này, 1.3.2) Phiên bản của Thanh công cụ gỡ lỗi Django Mỗi http://django-debug-toolbar.readthedocs.org/en/0.10.0/panels.html, các phiên bản gốc (được sử dụng ví dụ: debug_toolbar.panels.sql.SQLDebugPanel vs debug_toolbar.panels.sql.SQLPanel như trong 1.3.2) là chính xác khi câu hỏi này được trả lời gốc.)

(lưu ý: sau Django 1.10, MIDDLEWARE_CLASSES phải là MIDDLEWARE.)

+0

Cảm ơn! Đó là điều tốt để biết. Nó bật ra vấn đề cụ thể của tôi là khác nhau, nhưng điều này là hữu ích, quá! –

+0

@Jon, vấn đề cụ thể của bạn là gì? Một người khác có thể có cùng một vấn đề và sẽ được hưởng lợi từ một ý tưởng nhanh chóng về những gì cần kiểm tra. –

+3

Sự cố thực tế của tôi được hiển thị trong phần chỉnh sửa ở cuối bài đăng: Chỉnh sửa: Hóa ra, tôi đã thử nghiệm điều này bằng đường hầm SSH từ máy đang chạy trình duyệt tới máy chạy Django/Apache. Trong trường hợp này, địa chỉ IP thực sự được thấy cho máy từ xa không phải là thứ tôi nghĩ, vì vậy danh sách các IP "tốt" không chứa máy từ xa rõ ràng của trình duyệt. Sửa lỗi đã khắc phục được sự cố! –

Các vấn đề liên quan