Jolly

Django安装Django-Debug-Toolbar进行系统性能调试
在Web应用中,应用性能是一个值得关注的点,我们不应该仅仅局限满足于应用程序“能跑”和“能用”上,还需要考虑到应用...
扫描右侧二维码阅读全文
24
2021/07

Django安装Django-Debug-Toolbar进行系统性能调试

在Web应用中,应用性能是一个值得关注的点,我们不应该仅仅局限满足于应用程序“能跑”和“能用”上,还需要考虑到应用程序的执行性能,比如sql语句执行时间,耗时部分在哪里等。

简介

刚好前不久Django项目里用到过一个测试模块Django-Debug-Toolbar,它是一个内嵌模组,拥有调试ui界面,在Django项目里简单配置后就能在web前端展示的性能调试工具,具体效果如图:

django_toolbar_use1.png

从右侧可以看到有很多指标小模块,执行耗时,sql执行耗时,缓存,信号等等,是一个性能调试利器。

接下来我们就看看怎么在系统中对此进行配置:

配置

在终端中执行:

python -m pip install django-debug-toolbar

然后在Django项目里的settings中的INSTALLED_APPS中添加:

INSTALLED_APPS = [
    'debug_toolbar',
]

以及添加中间件Middleware,尽量将添加的这句排前一点:

MIDDLEWARE = [
    # ...
    'debug_toolbar.middleware.DebugToolbarMiddleware',
    # ...
]

以及在settings文件中添加白名单配置:

INTERNAL_IPS = [
    # ...
    '127.0.0.1',
    # ...
]

然后在settings增加DEBUG_TOOLBAR_​​PANELS基础配置:

此设置允许您:
#添加默认情况下未启用的内置面板,添加第三方面板,移除内置面板,更改面板的顺序。
DEBUG_TOOLBAR_PANELS = [
    'debug_toolbar.panels.history.HistoryPanel',
    '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.panels.profiling.ProfilingPanel',
]

记得还要引入jquery的js

DEBUG_TOOLBAR_CONFIG = {
    "JQUERY_URL": '//cdn.bootcss.com/jquery/2.2.4/jquery.min.js',
}

然后在路由urls里面添加路由:

import debug_toolbar
from django.conf import settings
from django.urls import include, path

urlpatterns = [
    ...
    path('__debug__/', include(debug_toolbar.urls)),
]

后记

就这样配置就完成了。其实Django-Debug-Toolbar有很多第三方的小模组插件的,大家可以去官方文档处查看,点击链接跳转

Last modification:July 27th, 2021 at 10:30 am
如果觉得我的文章对你有用,请随意赞赏

Leave a Comment

🌓