1. 程式人生 > 其它 >【Django雜記】django-debug-toolbar的用法

【Django雜記】django-debug-toolbar的用法

簡介

  • Django Debug Toolbar是Django開發中必備利器,可以幫助開發者快速瞭解專案的整體資訊以及每個頁面包括sql資訊,http相關資訊。

1、安裝


  • 如圖,使用pip命令直接安裝即可;(注意:一般我們會用virtualenvwrapper建立虛擬開發環境,那麼切記一定要先是workon命令切換到當前的開發環境再安裝。)
pip install django-debug-toolbar

2、把debug_toolbar新增到INSTALLED_APPS


  • 注意:如上圖官方文件說的,一定要把debug_toolbar放在django.contrib.staticfiles下。當然不要理解為緊跟著django.contrib.staticfiles後面,只要在後面即可。

3、urls中配置


  • 如上圖所示,在專案url中配置path中,地址為__debug__/,檢視為include(debug_toolbar.urls),完整的配置為:

4、Middleware中介軟體的配置


  • 在settings中MIDDLEWARE配置'debug_toolbar.middleware.DebugToolbarMiddleware',我們要把django-debug-toolbar這個中介軟體儘可能配置到最前面,但是,必須要放在處理編碼或相應內容的中介軟體後面,比如我們要是使用了GZipMiddleware,就要把DebugToolbarMiddleware放在GZipMiddleware後面。如下圖,我沒有使用到處理編碼和響應內容的中介軟體,所以直接放在了最前面。

5、配置IP地址


  • 我們需要在settings.py檔案中配置INTERNAL_IPS,只有訪問這裡面配置的IP地址時,Debug Toolbar才是展示出來。因為我們一般都是本地開發,所以直接配置為127.0.0.1就可以了。如下配置:

6、配置完成,介面顯示django-debug-toolbar面板

  • 現在,執行專案,我們Django Debug Toolbar介面就會出現了


  • 我們網頁的右上角就會出現一個DjDT的圖示,點選展開。

  • 右邊則為頁面的資訊,比如我們點開versions,就是Django的版本和相關資訊。

7、django-debug-toolbar面板介紹

  • Versions:代表是哪個django版本
  • Timer:用來計時的,判斷載入當前頁面總共花的時間
  • Settings:讀取django中的配置資訊
  • Headers:當前請求頭和響應頭資訊
  • Request:當前請求項的資訊(檢視函式、Cookie資訊、Session資訊等)
  • SQL:檢視當前頁面執行的SQL語句
  • StaticFiles:當前頁面載入的靜態檔案
  • Templates:當前介面用的模板
  • Cache:快取資訊
  • Signals:訊號
  • Logging:當前介面日誌資訊
  • Redirects:當前介面的重定向資訊

8、自定義自己的django-debug-toolbar右側面板

  • 右側面板太多,有些面板資訊不需要,比如Versions django版本這個面板我們就不需要顯示在這裡,怎麼處理呢?

  • 我們在settings.py去使用DEBUG_TOOLBAR_PANELS配置我們需要顯示的面板即可。
DEBUG_TOOLBAR_PANELS = [
    # 代表是哪個django版本
    'debug_toolbar.panels.versions.VersionsPanel',
    # 用來計時的,判斷載入當前頁面總共花的時間
    'debug_toolbar.panels.timer.TimerPanel',
    # 讀取django中的配置資訊
    'debug_toolbar.panels.settings.SettingsPanel',
    # 看到當前請求頭和響應頭資訊
    'debug_toolbar.panels.headers.HeadersPanel',
    # 當前請求的想資訊(檢視函式,Cookie資訊,Session資訊等)
    'debug_toolbar.panels.request.RequestPanel',
    # 檢視SQL語句
    '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',
]
  • 我只需要TimePanel、RequestPanel、HeadersPanel、SQLPanel這四個面板;我們可以配置:

  • 配置好後,重新執行我們的專案,則只顯示這4個面板: