https://blog.csdn.net/cn_1937/article/details/82715983(Django 开发:django-debug-toolbar使用详解)
注意:python64位可以使用,32位无法使用
1.安装:pip install django-debug-toolbar 或 pip install -i https://pypi.tuna.tsinghua.edu.cn/simple django-debug-toolbar
2.把debug_toolbar添加进INSTALLED_APPS
一定要把debug_toolbar放在django.contrib.staticfiles后面
INSTALLED_APPS = [ 'django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.messages', 'django.contrib.staticfiles', 'xadmin', # 注册xadmin 'crispy_forms', # 注册xadmin的依赖应用crispy_forms 'users.apps.UsersConfig', #注册user 'testdatas.apps.TestdatasConfig', #注册testdatas 'reportdatas.apps.ReportdatasConfig', #注册reportdatas 'testapidatas.apps.TestapidatasConfig',#注册testapidatas 'reportpageloadtime.apps.ReportpageloadtimeConfig',#注册testapidatas 'dependallshow.apps.DependallshowConfig',#注册dependallshow 'testupdatadb.apps.TestupdatadbConfig',#注册testupdatadb 'shangbaoshuju.apps.ShangbaoshujuConfig',# ,#注册shangbaoshuju 'shucaiyidate.apps.ShucaiyidateConfig', # 注册shucaiyidate 'debug_toolbar',#注册debug_toolbar,放在django.contrib.staticfiles后面 ]
3.url配置:
from django.urls import path,include import xadmin from django.views.static import serve #导入django处理静态文件的包serve ,用于处理midia路径下的文件 from .settings import MEDIA_ROOT #导入Settings中配置的MEDIA_ROOT from django.conf.urls.static import static from .settings import STATIC_ROOT from django.conf import settings #debug_toolbar url配置-1-导入设置 urlpatterns = [ path('', xadmin.site.urls), # 配置上传文件的访问处理函数 # 配置处理引用midia路径下文件的路径,调用serve方法,需要传入参数{"document_root":MEDIA_ROOT} # 配置上传文件的访问处理函数 path('media/<path:path>', serve, {"document_root": MEDIA_ROOT}), path('static/<path:path>', serve, {"document_root": STATIC_ROOT}), # 配置点击返回场景url,namespace指明命名空间,用命名空间做限定 path('testdatas/', include('testdatas.urls', namespace='testdatas')), # 配置接口数据url,namespace指明命名空间,用命名空间做限定 path('testapidatas/', include('testapidatas.urls', namespace='testapidatas')), # 配置批量替换场景url,namespace指明命名空间,用命名空间做限定 path('testupdatadb/', include('testupdatadb.urls', namespace='testupdatadb')), # 配置数采仪,namespace指明命名空间,用命名空间做限定 path('shucaiyidate/', include('shucaiyidate.urls', namespace='shucaiyidate')), ] # urlpatterns += static('/static/', document_root=STATIC_ROOT) #debug_toolbar url配置-2-设置url if settings.DEBUG: #判断是否为调试模式 import debug_toolbar # urlpatterns = [ # path('__debug__/', include(debug_toolbar.urls)), # 配置debug_toolbar 的url,其中‘__debug__/’可以为任何未使用的路径名 # ]+urlpatterns urlpatterns.append(path('__debug__/', include(debug_toolbar.urls))) # # 配置debug_toolbar 的url,其中‘__debug__/’可以为任何未使用的路径名
4.Middleware中间件的配置
在settings中的MIDDLEWARE配置’debug_toolbar.middleware.DebugToolbarMiddleware’,我们要把django-debug-toolbar这个中间件尽可能配置到最前面,但是,必须要要放在处理编码和响应内容的中间件后面,比如我们要是使用了GZipMiddleware,就要把DebugToolbarMiddleware放在GZipMiddleware后面。
MIDDLEWARE = [ 'debug_toolbar.middleware.DebugToolbarMiddleware', #debug_toolbar中间件配置,尽可能配置到最前面,但是,必须要要放在处理编码和响应内容的中间件后面,比如我们要是使用了GZipMiddleware,就要把DebugToolbarMiddleware放在GZipMiddleware后面。 'django.middleware.security.SecurityMiddleware', 'django.contrib.sessions.middleware.SessionMiddleware', 'django.middleware.common.CommonMiddleware', 'django.middleware.csrf.CsrfViewMiddleware', 'django.contrib.auth.middleware.AuthenticationMiddleware', 'django.contrib.messages.middleware.MessageMiddleware', 'django.middleware.clickjacking.XFrameOptionsMiddleware', ]
5.配置IP地址:
我们需要在settings.py文件中配置INTERNAL_IPS,只有访问这里面配置的ip地址时, Debug Toolbar才是展示出来。因为我们一般都是本地开发,所以,直接配置为127.0.0.1就可以了
INTERNAL_IPS = ['127.0.0.1'] #debug_toolbar设置访问的IP地址,只有这个IP地址访问网站时,才会展示,其他任何IP访问都会不展示
6.django-debug-toolbar面板介绍
django-debug-toolbar面板介绍
Versions :代表是哪个django版本
Timer : 用来计时的,判断加载当前页面总共花的时间
Settings : 读取django中的配置信息
Headers : 当前请求头和响应头信息
Request: 当前请求的想信息(视图函数,Cookie信息,Session信息等)
SQL:查看当前界面执行的SQL语句
StaticFiles:当前界面加载的静态文件
Templates:当前界面用的模板
Cache:缓存信息
Signals:信号
Logging:当前界面日志信息
Redirects:当前界面的重定向信息
7.自定义自己的django-debug-toolbar右侧面板
我们在settings.py去使用DEBUG_TOOLBAR_PANELS配置我们需要显示的面板即可
DEBUG_TOOLBAR_PANELS = [ #debug_toolbar 面板显示设置
'debug_toolbar.panels.versions.VersionsPanel', # 代表是哪个django版本
'debug_toolbar.panels.timer.TimerPanel',# 用来计时的,判断加载当前页面总共花的时间
'debug_toolbar.panels.settings.SettingsPanel', # 读取django中的配置信息
'debug_toolbar.panels.headers.HeadersPanel', #看到当前请求头和响应头信息
'debug_toolbar.panels.request.RequestPanel', #当前请求的想信息(视图函数,Cookie信息,Session信息等)
'debug_toolbar.panels.sql.SQLPanel', # 查看SQL语句
'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',# 重定向
]