Django入门教程

前言

第一章: django快速入门

第二章: django MTV架构

第三章: django视图

第四章: django模板

第五章: django模型

第六章: django后台管理系统

第七章: 项目实战-简易的博客系统

第八章:django表单

第九章:django用户认证系统

第十章:django中的会话

第十一章:django安全

第十二章:django性能优化

第十三章:django实用工具

首页 > Django入门教程 > 第十二章:django性能优化 > 12.5节:django-debug-toolbar

12.5节:django-debug-toolbar

薯条老师 2020-10-20 08:11:29 234663 0

编辑 收藏

系统地讲解Django开发的基础知识, 高阶知识。关注微信公众号[薯条编程],领取该教程的PDF电子书:《Python web开发-django从入门到精通》。

12.5.1 第三方调试工具:django-debug-toolbar

在以上四节的教程中,薯条老师介绍了如何在django中进行性能优化,在着手进行性能优化的工作之前,我们需要一款debug工具来分析程序的执行性能。django的第三方调试工具:django-debug-toolbar,提供了一个可视化的debug界面,通过该工具,我们可以查看程序的执行过程、运行时间,以及数据库中的耗时查询,以此来分析程序的性能瓶颈,以便做进一步的优化。

12.5.2 django-debug-toolbar的安装与配置

直接在命令行中执行pip install django-debug-toolbar来进行安装。安装成功以后,需要在项目中进行配置,请同学们按照以下步骤来进行配置:

(1) 配置INSTALLED_APPS

打开settigns.py,在INSTALLED_APPS中分别添加django.contrib.staticfiles与debug_toolbar:

INSTALLED_APPS = [
    # ...
    'django.contrib.staticfiles',
    # ...
    'debug_toolbar',
]
 
STATIC_URL = '/static/'

(2) 配置debug_toolbar中间件

打开settings.py,在全局变量MIDDLEWARE中添加debug_toolbar中间件:

MIDDLEWARE = [
    # 添加debug_toolbar中间件
    'debug_toolbar.middleware.DebugToolbarMiddleware',
]

在添加debug_toolbar中间件时,尽可能配置到最前面,同时必须将其放置在处理编码和响应内容的中间件后面,比如使用了GZipMiddleware来对响应的内容进行压缩,那么需要把debug_toolbar配置在GZipMiddleware的后面。

(3) 配置内部IP地址

打开settings.py,定义INTERNAL_IPS列表变量,在列表中添加debug-toolbar运行环境的ip地址:

INTERNAL_IPS = [
    # debug_toolbar运行在本地
    '127.0.0.1',
]

(4) 配置debug_toolbar路由

打开urls.py,添加调试模式下的debug路由:

from django.conf import settings
from django.urls import include, path  
 
# 下面的代码写在urlpatterns变量的后面
if settings.DEBUG:
    import debug_toolbar
    urlpatterns = [path('__debug__/', include(debug_toolbar.urls)),] + urlpatterns

12.5.3 使用django-debug-toolbar进行调试

配置完毕以后,打开页面即可看到页面右侧边栏多了个工具条:

YI4UZZB%P0AQ(MV%AGPN_AR.png 

点击该工具条,会出现一个调试面板:

E}{$F@3XE7NVWJP]1SU)`MT.png 

 

点击面板中的菜单,即可查看对应的调试信息,例如点击Request菜单,可以看到服务器的请求响应情况:

 QXZ(1T5R0CDK}53{PZOLKJE.png

点击SQL菜单,可以查看程序中的SQL语句执行情况:

5WL6MO%2XGAWQCB`E~X%XO7.png 

12.5.4 配置django-debug-toolbar的调试面板

通过DEBUG_TOOLBAR_PANELS变量可以在调试面板中配置菜单。DEBUG_TOOLBAR_PANELS的默认配置:

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.panels.profiling.ProfilingPanel',
]

在settings.py中修改DEBUG_TOOLBAR_PANELS,可以改变调试面板的顺序,以及对调试面板进行添加和删除。现在通过DEBUG_TOOLBAR_PANELS来添加一个第三方的面板:Template Profiler该面板会显示与模板渲染相关的执行信息。

请同学们按照以下步骤进行操作:

(1) 安装django-debug-toolbar-template-profiler

直接使用pip来安装:pip install django-debug-toolbar-template-profiler

(2) 打开settings.py,配置INSTALLED_APPS

在INSTALLED_APPS中添加template_profiler_panel:

INSTALLED_APPS = [
    #...
    "debug_toolbar",
    "template_profiler_panel",
    # ...
]

(3) 在DEBUG_TOOLBAR_PANELS中添加template_profiler_panel:

DEBUG_TOOLBAR_PANELS = [
    # ...
    "template_profiler_panel.panels.template.TemplateProfilerPanel",
]

(4) 打开浏览器,在面板中找到Template Profiler:

RY}WR9JNTQ%6A00K15C4PRU.png

关注微信公众号:薯条编程,公众号后台回复"Python资料",免费领取Python电子书,以及学习Python视频课程。

小班授课,薯条老师一对一教学,火热报名中,点击了解线下就业培训。


欢迎 发表评论: