Python全系列 教程
3567个小节阅读:5931.5k
目录
鸿蒙应用开发
C语言快速入门
JAVA全系列 教程
面向对象的程序设计语言
Python全系列 教程
Python3.x版本,未来主流的版本
人工智能 教程
顺势而为,AI创新未来
大厂算法 教程
算法,程序员自我提升必经之路
C++ 教程
一门通用计算机编程语言
微服务 教程
目前业界流行的框架组合
web前端全系列 教程
通向WEB技术世界的钥匙
大数据全系列 教程
站在云端操控万千数据
AIGC全能工具班
A A
White Night
官网:https://django-debug-toolbar.readthedocs.io/en/latest/configuration.html
History:访问历史信息
Versions :代表是哪个django版本
Time : 用来计时的,判断加载当前页面总共花的时间
Settings : 读取django中的配置信息
Headers : 当前请求头和响应头信息
Request: 当前请求的相关信息(视图函数,Cookie信息,Session信息等)
SQL:查看当前界面执行的SQL语句
StaticFiles:当前界面加载的静态文件
Templates:当前界面用的模板
Cache:缓存信息
Signals:信号
Logging:当前界面日志信息
Redirects:当前界面的重定向信息
Profiling:查看视图函数的信息
django-debug-toolbar默认使用全面板
默认的全局配置在 debug_toolbar.settings.CONFIG_DEFAULTS
默认的面板配置在 debug_toolbar.settings.PANELS_DEFAULTS
xxxxxxxxxx
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',
]
如果不使用默认的全功能面板,那么在settings中配置 DEBUG_TOOLBAR_PANELS 即可,示例如下:
xxxxxxxxxx
DEBUG_TOOLBAR_PANELS = [
"debug_toolbar.panels.timer.TimerPanel",
"debug_toolbar.panels.headers.HeadersPanel",
"debug_toolbar.panels.request.RequestPanel",
"debug_toolbar.panels.templates.TemplatesPanel",
]
说明
- 当前只启用了4个面板:时间、头信息、请求信息和模板信息
- 可以添加自定义面板
- 可以删除默认内置面板
- 可以改变面板的顺序
在settings中配置 DEBUG_TOOLBAR_CONFIG 覆盖默认配置,分为2部分,一部分适用于工具栏本身,另一部分适用于某些特定面板
xxxxxxxxxx
DEBUG_TOOLBAR_CONFIG = {
# Toolbar options
"DISABLE_PANELS": {"debug_toolbar.panels.redirects.RedirectsPanel"},
"INSERT_BEFORE": "</body>",
"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.db",
"django.core.handlers",
"django.core.servers",
"django.utils.decorators",
"django.utils.deprecation",
"django.utils.functional",
),
"PROFILER_MAX_DEPTH": 10,
"SHOW_TEMPLATE_CONTEXT": True,
"SKIP_TEMPLATE_PREFIXES": ("django/forms/widgets/", "admin/widgets/"),
"SQL_WARNING_THRESHOLD": 500, # milliseconds
}
DISABLE_PANELS
默认: {'debug_toolbar.panels.redirects.RedirectsPanel'}
此设置是要禁用(但仍显示)的面板的完整Python路径的集合。
INSERT_BEFORE
默认: '</body>'
工具栏在HTML中搜索此字符串并在之前插入。
RENDER_PANELS
默认: None
如果设置为False
,调试工具栏将把面板的内容保留在服务器上的内存中并按需加载它们。如果设置为True
,则会在每个页面内呈现面板。这可能会降低页面呈现速度,但在多进程服务器上需要这样做,例如,如果在生产中部署工具栏(不建议这样做)。
默认值None
告诉工具栏自动执行正确的操作,具体取决于WSGI容器是否运行多个进程。此设置允许您在需要时强制执行不同的操作。
RESULTS_CACHE_SIZE
默认: 10
工具栏在内存中保持的结果缓存数量。
ROOT_TAG_EXTRA_ATTRS
默认: ''
此设置将注入根模板div中,以避免与客户端框架发生冲突。例如,将调试工具栏与Angular.js一起使用时,将其设置为'ng-non-bindable'
或 'class="ng-non-bindable"'
。
SHOW_COLLAPSED
默认: False
如果更改为True
,则默认情况下将折叠工具栏。
SHOW_TOOLBAR_CALLBACK
默认: 'debug_toolbar.middleware.show_toolbar'
这是用于确定工具栏是否应显示的函数路径,默认检测DEBUG设置为True,并且访问IP必须在INTERNAL_IPS中,代码如下:
xxxxxxxxxx
def show_toolbar(request):
"""
Default function to determine whether to show the toolbar on a given page.
"""
if request.META.get("REMOTE_ADDR", None) not in settings.INTERNAL_IPS:
return False
return bool(settings.DEBUG)
可以设置自定义的检测函数路径
实时效果反馈
1. 关于DebugToolBar工具,说法错误的是?
A DebugToolBar可以配置工具显示的面板功能
B DebugToolBar配置功能面板使用DEBUG_TOOLBAR_PANELS
属性
C DebugToolBar工具栏会把结果存放到body参数
D DebugToolBar可以打断点,调试工具
答案
1=>D