Django-debug-toolbar

django开发中的调试工具组件Django-Debug-Toolbar

介绍

django-debug-toolbar 是一组可配置的面板,可显示有关当前请求/响应的各种调试信息,并在单击时显示有关面板内容的更多详细信息。

在用django开发时,最喜欢的就是ORM功能,对于不熟悉sql语句的朋友是一大福利!但是,问题也在于此,在遍历的同时也会带来一系列问题。
如:一不小心,语句写的有问题就会造成全表数据加载。

安装

1
2
3
4
# 文档地址:
https://django-debug-toolbar.readthedocs.io/en/latest/installation.html
# 使用pip安装
pip3 install django-debug-toolbar

配置

  • 添加debug_toolbar到INSTALL_APPS中
1
2
3
4
5
6
7
# 先决条件,确保'django.contrib.staticfiles'被正确设置,'debug_toolbar'要在'django.contrib.staticfiles'下面。
INSTALLED_APPS = [
# ...
'django.contrib.staticfiles',
# ...
'debug_toolbar',
]
  • 设置URL
1
2
3
4
5
6
7
8
9
10
11
12
13
14
# 将调试工具栏的URL添加到项目的URLconf中,在主urls.py里
from django.urls import path,include
from apps.news import views
from django.conf.urls.static import static
from django.conf import settings

urlpatterns = [
path('',views.index,name='index'),
# ...
]

if settings.DEBUG:
import debug_toolbar
urlpatterns.append(path("__debug__/",include(debug_toolbar.urls)))
  • 启用中间件
1
2
3
4
5
6
7
# 调试工具栏主要在中间件中实现,在设置模块中启用它。
MIDDLEWARE = [
# ...
'debug_toolbar.middleware.DebugToolbarMiddleware',
# ...
]
# 顺序MIDDLEWARE很重要,您应该尽早在列表中包含Debug Toolbar中间件。但是,它必须在编码响应内容的任何其他中间件之后,例如 GZipMiddleware。如果没用到GZip那就放到首位。
  • 配置内部IP
1
2
3
# 仅当你的IP地址在INTERNAL_IPS设置中列出时,才会显示调试工具栏 。这意味着,对于当地的发展,你必须添加'127.0.0.1'到INTERNAL_IPS; 如果您的设置模块中尚不存在,则需要创建此设置:

INTERNAL_IPS = ['127.0.0.1']
  • 自定义配置
    调试工具栏提供了两个设置,您可以在项目的设置模块中添加这些设置以自定义其行为。
    • DEBUG_TOOLBAR_PANELS
      1
      2
      3
      4
      5
      6
      7
      8
      9
      10
      11
      12
      13
      14
      15
      16
      17
      18
      19
      20
      21
      22
      23
      24
      25
      26
      27
      28
      29
      # 此设置指定要包含在工具栏中的每个面板的完整Python路径。它就像Django的MIDDLEWARE设置一样。根据需求开启对应功能。
      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',
      # 提供了一个profiling panel,它包含了line_profiler的输出
      'debug_toolbar.panels.profiling.ProfilingPanel',
      ]
  • DEBUG_TOOLBAR_CONFIG
    1
    此字典包含所有其他配置选项。一些适用于工具栏本身,另一些适用于某些面板。
  • 配置JQuery的URL
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    # django-debug-toolbar 默认使用的是Google的地址,默认配置如下:
    JQUERY_URL = '//ajax.googleapis.com/ajax/libs/jquery/2.2.4/jquery.min.js'
    # 如果无法访问国外网站可在setting.py中配置一下
    DEBUG_TOOLBAR_CONFIG = {
    "JQUERY_URL": '//cdn.bootcss.com/jquery/2.2.4/jquery.min.js',
    }
    或者你如果在Django项目中使用了jquery的话就可以直接将这一项置为空,那么django-debug-toolbar 就会使用你项目中用到的jquery:
    DEBUG_TOOLBAR_CONFIG = {
    "JQUERY_URL": '',
    }

使用测试

访问页面的时候在右侧有各项配置面板,点击即可查看各种调试信息。
mark

-------------本文结束感谢您的阅读-------------
原创技术分享,感谢您的支持。