一、概述

django_debug_toolbar 是django的第三方工具包,给django扩展了调试功能。
包括查看执行的sql语句,db查询次数,request,headers,调试概览等。

二、安装

使用django_debug_toolbar工具先使用pip安装。
pip install django_debug_toolbar,然后修改settings.py和urls.py文件。

三、修改settings文件

1. 显示设置调试工具不要调整settings中的设置

DEBUG_TOOLBAR_PATCH_SETTINGS = False
1
2. 添加调试工具App

INSTALLED_APPS = INSTALLED_APPS + (
'debug_toolbar.apps.DebugToolbarConfig',

)
1
2
3
4
3. 添加调试工具中间件

MIDDLEWARE_CLASSES = MIDDLEWARE_CLASSES + (
'debug_toolbar.middleware.DebugToolbarMiddleware',
)
1
2
3
4. 添加调试工具的IP

INTERNAL_IPS = ("127.0.0.1",)
1
5. debug_toolbar 组件选项

默认值为如下12个组件,可根据需要自行调整。此处不写代表使用默认值。

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',
]
1
2
3
4
5
6
7
8
9
10
11
12
13
14
下图显示了所有推荐组件:

6. debug_toolbar 配置项

默认为如下选项,此处不写代表使用默认值,可根据需要自行调整。
备注:'JQUERY_URL': '//cdn.bootcss.com/jquery/2.1.4/jquery.min.js'此项原本为google指向的一个js,改成这样就不会报404了。

CONFIG_DEFAULTS = {
# Toolbar options
'DISABLE_PANELS': {'debug_toolbar.panels.redirects.RedirectsPanel'},
'INSERT_BEFORE': '</body>',
'JQUERY_URL': '//cdn.bootcss.com/jquery/2.1.4/jquery.min.js',
'RENDER_PANELS': None,
'RESULTS_CACHE_SIZE': 10,
'ROOT_TAG_EXTRA_ATTRS': '',
'SHOW_COLLAPSED': False,
'SHOW_TOOLBAR_CALLBACK': 'debug_toolbar.middleware.show_toolbar',
# Panel options
'EXTRA_SIGNALS': [],
'ENABLE_STACKTRACES': True,
'HIDE_IN_STACKTRACES': (
'socketserver' if six.PY3 else 'SocketServer',
'threading',
'wsgiref',
'debug_toolbar',
'django',
),
'PROFILER_MAX_DEPTH': 10,
'SHOW_TEMPLATE_CONTEXT': True,
'SKIP_TEMPLATE_PREFIXES': (
'django/forms/widgets/',
'admin/widgets/',
),
'SQL_WARNING_THRESHOLD': 500, # milliseconds
}
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
四、修改urls文件

7. debug_toolbar添加到全局url

if settings.DEBUG:
import debug_toolbar
urlpatterns += patterns('', url(r'^__debug__/', include(debug_toolbar.urls)),)
1
2
3
五、非默认Panle和第三方Panle

参考:http://django-debug-toolbar.readthedocs.io/en/1.0/panels.html#non-default-built-in-panels
8. 默认面板

# 查看视图函数的信息
debug_toolbar.panels.profiling.ProfilingPanel
1
2
9. 第三方面板

注意,第三方面板没有官方维护!同时,想要使用某个面板,所在的github主页上查看调用和配置方法。
# 查看您的Haystack后端所做的查询
haystack_panel.panel.HaystackDebugPanel
# 验证您的HTML并显示警告和错误
debug_toolbar_htmltidy.panels.HTMLTidyDebugPanel
# 使用调试语句检索并显示您指定的信息。Inspector面板也会默认登录到控制台
inspector_panel.panels.inspector.InspectorPanel
# 提供了一个profiling panel,它包含了line_profiler的输出
debug_toolbar_line_profiler.panel.ProfilingPanel
# 跟踪memcached的使用情况。它目前支持pylibmc和memcache库
memcache_toolbar.panels.memcache.MemcachePanel或memcache_toolbar.panels.pylibmc.PylibmcPanel
# 添加MongoDB调试信息
debug_toolbar_mongo.panel.MongoDebugPanel
# 在你的django应用程序中跟踪neo4j rest API调用,这也适用于neo4django和neo4jrestclient
neo4j_panel.Neo4jPanel
# 浏览在django.contrib.sites中注册的网站并在它们之间切换。用于调试使用动态设置的SITE_ID的django-dynamicsites项目。
sites_toolbar.panels.SitesDebugPanel
# 显示您的Django应用程序的模板渲染时间
template_timings_panel.panels.TemplateTimings.TemplateTimings
# 轻松切换登录用户,查看当前用户的属性
debug_toolbar_user_panel.panels.UserPanel
---------------------
作者:Nick_Spider
来源:CSDN
原文:https://blog.csdn.net/weixin_39198406/article/details/78821677
版权声明:本文为博主原创文章,转载请附上博文链接!

在django中使用django_debug_toolbar的更多相关文章

  1. 在django中使用django_debug_toolbar进行日志记录

    一.概述 django_debug_toolbar 是django的第三方工具包,给django扩展了调试功能. 包括查看执行的sql语句,db查询次数,request,headers,调试概览等.  ...

  2. Django中使用django_debug_toolbar

    一 概述 django_debug_toolbar 是django的第三方工具包,给django扩展了调试功能. 包括查看执行的sql语句,db查询次数,request,headers,调试概览等. ...

  3. 异步任务队列Celery在Django中的使用

    前段时间在Django Web平台开发中,碰到一些请求执行的任务时间较长(几分钟),为了加快用户的响应时间,因此决定采用异步任务的方式在后台执行这些任务.在同事的指引下接触了Celery这个异步任务队 ...

  4. Mysql事务探索及其在Django中的实践(二)

    继上一篇<Mysql事务探索及其在Django中的实践(一)>交代完问题的背景和Mysql事务基础后,这一篇主要想介绍一下事务在Django中的使用以及实际应用给我们带来的效率提升. 首先 ...

  5. Mysql事务探索及其在Django中的实践(一)

    前言 很早就有想开始写博客的想法,一方面是对自己近期所学知识的一些总结.沉淀,方便以后对过去的知识进行梳理.追溯,一方面也希望能通过博客来认识更多相同技术圈的朋友.所幸近期通过了博客园的申请,那么今天 ...

  6. Django 中url补充以及模板继承

    Django中的URL补充 默认值 在url写路由关系的时候可以传递默认参数,如下: url(r'^index/', views.index,{"name":"root& ...

  7. django中css问题

    django中加载的css,js,图片其中js和图片可以加载出来,而css没有效果.原因如下: 这是因为你安装的某些IDE 或者其他更改了注册表导致的系统的注册表\HKEY_CLASSES_ROOT\ ...

  8. 在Django中进行注册用户的邮件确认

    之前利用Flask写博客时(http://hbnnlove.sinaapp.com),我对注册模块的逻辑设计很简单,就是用户填写注册表单,然后提交,数据库会更新User表中的数据,字段主要有用户名,哈 ...

  9. django中tinymce添加图片上传功能

    主要参考以下: https://pixabay.com/en/blog/posts/direct-image-uploads-in-tinymce-4-42/ http://blog.csdn.net ...

随机推荐

  1. 定义一个类Point,代表一个点,public属性有x和y,方法有显示点坐标 show(),构造函数有两个参数分别给x,y赋值,在main方法中构造两个对象,再创建一方法(getMiddle)为取两个点构成线段的中点的坐标,参数为2个点对象,调用此方法后得到一个新的点,编写Application,显示该对象的坐标值。

    这个题让我更加明白了类创建对象的实质 代码中用到:1.对象作形参;2.对象作返回值 以下用代码具体分析: class Point1{ public double x; public double y; ...

  2. 软工之404 Note Found团队

    如果记忆是一个罐头的话,我希望这一罐罐头不会过期----<重庆森林> 404 Note Found Team 如果记忆是一个备忘录的话,别说了,它不会过期----<404 Note ...

  3. nRF5 SDK for Mesh(八) Exploring Mesh APIs using light switch example,使用 灯开关 案例探索BLE mesh 的APIS

    Exploring Mesh APIs using light switch example The light switch example is meant to showcase the API ...

  4. web前端开发从0到1—html结构与常用标签

    一:html文档标签结构 <html></html><!--文档片头信息,表示文档内容是用什么标签写的.--> <head></head>& ...

  5. Java Activiti 流程审批 后台框架源码 springmvc SSM 工作流引擎

    即时通讯:支持好友,群组,发图片.文件,消息声音提醒,离线消息,保留聊天记录 工作流模块-------------------------------------------------------- ...

  6. 04_Docker入门(下)之docker镜像和仓库的使用

    docker镜像和仓库 镜像介绍 docker镜像是由文件系统叠加而成的.最低端是一个引导文件系统,即bootfs.当一个容器启动后,它会将被移动到内存中,而引导文件系统则会被卸载,以留出更多的内存以 ...

  7. P1015 回文数解题思路(非原创)

    测试 #include<bits/stdc++.h> using namespace std; int n,m,step; string nn; int len,nex; bool dfs ...

  8. java学习无止境,工资价更高

    原 推荐10个Java方向最热门的开源项目(8月) 2018年08月28日 17:54:32 SnailClimb在CSDN 阅读数:849   版权声明:本文为博主原创文章,未经博主允许不得转载. ...

  9. ajax与jsonp定义及使用方法

    ajax 定义 ajax技术的目的是让javascript发送http请求,与后台通信,获取数据和信息. ajax通信的过程不会影响后续javascript的执行,从而实现异步. 同步和异步 现实生活 ...

  10. PHP 扩展 trie-tree, swoole过滤敏感词方案

    在一些app,web中评论以及一些文章会看到一些*等,除了特定的不显示外,我们会把用户输入的一些敏感字符做处理,具体显示为*还是其他字符按照业务区实现. 下面简单介绍下业务处理. 原文地址:小时刻个人 ...