【Django雜記】django-debug-toolbar的用法
阿新 • • 發佈:2022-05-31
簡介
- 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個面板: