简介
django-debug-toolbar 是一个非常方便的工具,可以深入了解代码的工作以及它花费的时间,特别是它可以显示你的页面生成的所有SQL查询,以及每个sql所需要的时间。
django-debug-toolbar官方文档地址:
https://django-debug-toolbar.readthedocs.io/en/stable/
安装
注意
想要使用debug_toolbar工具,settings.py 中的DEBUG一定要设置为True,这是前提:
![在这里插入图片描述](https://img-blog.csdnimg.cn/20201120213513614.png#pic_center)
通过pip 安装django-debug-toolbar
![在这里插入图片描述](https://img-blog.csdnimg.cn/20201120202228992.png#pic_center)
安装完成后,运行 pip list 命令,出现下图页面说明安装成功:
![在这里插入图片描述](https://img-blog.csdnimg.cn/20201120202825760.png#pic_center)
![在这里插入图片描述](https://img-blog.csdnimg.cn/20201120202620602.png#pic_center)
配置settings.py
1.注册debug_toolbar这个app,在settings.py中添加debug_toobar
INSTALLED_APPS = [
'django.contrib.staticfiles',
'debug_toolbar',
]
STATIC_URL = '/static/'
2.在项目的urls.py文件中设置debug_toolbar的路径
from django.conf import settings
from django.urls import path, include
if settings.DEBUG:
import debug_toolbar
urlpatterns.insert(0, path("__debug__/", include(debug_toolbar.urls)))
3.启用中间件,在settings.py中配置中间件
MIDDLEWARE = [
'debug_toolbar.middleware.DebugToolbarMiddleware',
]
在settings中的MIDDLEWARE配置’debug_toolbar.middleware.DebugToolbarMiddleware’,我们要把django-debug-toolbar这个中间件尽可能配置到最前面,但是,必须要放在处理编码和响应内容的中间件后面,比如我们要是使用了GZipMiddleware,就要把DebugToolbarMiddleware放在GZipMiddleware后面。
4.在setting.py中设置debug_toolbar的显示
DEBUG_TOOLBAR_CONFIG = {
'JQUERY_URL': 'https://cdn.bootcss.com/jquery/3.4.1/jquery.min.js',
'SHOW_COLLAPSED': True,
'SHOW_TOOLBAR_CALLBACK': lambda x: True,
}
此时,运行项目,即可在启动的项目右侧看到debug_toolbar工具栏
![在这里插入图片描述](https://img-blog.csdnimg.cn/20201120210142890.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L20wXzM3MTU5MTI0,size_16,color_FFFFFF,t_70#pic_center)
安装过程中遇到的问题
1.问题描述:
js文件被浏览器拦截(浏览器报错 MIME 类型(“text/plain”)不匹配),导致debug_toolbar无法显示
![在这里插入图片描述](https://img-blog.csdnimg.cn/20201120210901714.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L20wXzM3MTU5MTI0,size_16,color_FFFFFF,t_70#pic_center)
2.什么情况下会出现这个问题:
在setting.py 中的DEBUG=False的情况下运行了项目后,将DEBUG修改为True并配置debug_toolbar的相关信息后,再次启动服务,运行项目后就会出现上图中的错误信息
3.问题分析:
出现的问题根本原因是:当我们在开发django应用时如果设置了 DEBUG = True,那么django便会自动帮我们对静态文件进行路由;但是当我们设置DEBUG = False后,这一功能便没有了,此时静态文件就会出现加载失败的情况,想要让静态文件正常显示,我们就需要配置静态文件服务了。参考官方文档https://docs.djangoproject.com/en/2.0/howto/static-files/
4.解决方法:
在setting.py 中新增如下代码:
![在这里插入图片描述](https://img-blog.csdnimg.cn/20201120212058755.png#pic_center)
在urls.py中新增如下代码:
![在这里插入图片描述](https://img-blog.csdnimg.cn/2020112021301024.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L20wXzM3MTU5MTI0,size_16,color_FFFFFF,t_70#pic_center)
在项目包下面的__init__.py中添加如下代码:
import mimetypes
mimetypes.add_type("text/css", ".css", True)
mimetypes.add_type("text/javascript", ".js", True)
![在这里插入图片描述](https://img-blog.csdnimg.cn/2020112021252817.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L20wXzM3MTU5MTI0,size_16,color_FFFFFF,t_70#pic_center)
重新启动项目,此时debug_toolbar工具栏即可显示
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)