一个为Pyramid应用程序开发提供交互式HTML调试器的包
项目描述
pyramid_debugtoolbar 为开发 Pyramid 应用程序提供了一个有用的调试工具栏。
请注意,pyramid_debugtoolbar 是 Michael van Tellingen 的 flask-debugtoolbar(它本身是从 Rob Hudson 的 django-debugtoolbar 衍生而来)的一个明显的仿制品。它还包括了 Armin Ronacher 和团队略微打磨过的 Werkzeug 调试器代码。
文档
pyramid_debugtoolbar 当前稳定版本的文档可在 https://docs.pylonsproject.org/projects/pyramid-debugtoolbar/en/latest/ 找到。
演示
为了演示
克隆 pyramid_debugtoolbar 的 trunk。
$ git clone https://github.com/Pylons/pyramid_debugtoolbar.git
在工作区中创建一个虚拟环境。
$ cd pyramid_debugtoolbar $ python3 -m venv env
将 pyramid_debugtoolbar 的 trunk 安装到虚拟环境中。
$ env/bin/pip install -e .
将 pyramid_debugtoolbar/demo 包安装到虚拟环境中。
$ env/bin/pip install -e demo
使用虚拟环境中的 Python 运行 pyramid_debugtoolbar 包的 demo/demo.py 文件。
$ env/bin/python demo/demo.py
在网页浏览器中访问 http://localhost:8080,查看一个充满测试选项的页面。
测试
如果您已安装 tox,请使用以下命令运行所有测试:
$ tox
仅运行特定 Python 环境
$ tox -e py311
如果您未安装 tox,您可以安装测试需求,然后运行测试。
$ python3 -m venv env
$ env/bin/pip install -e ".[testing]"
$ env/bin/py.test
构建文档
如果您已安装 tox,请使用以下命令构建文档:
$ tox -e docs
如果您未安装 tox,您可以安装构建文档的需求,然后构建它们。
$ env/bin/pip install -e ".[docs]"
$ cd docs
$ make clean html SPHINXBUILD=../env/bin/sphinx-build
4.12.1 (2024-02-04)
修复在页面加载时,没有可见请求时工具栏崩溃的问题。
修复工具栏可能在不受支持的请求生命周期之外的时间访问敏感请求属性(如 request.authenticated_userid)的问题。
4.12 (2024-02-03)
移除对 setuptools / pkg_resources 的依赖。请参阅 https://github.com/Pylons/pyramid_debugtoolbar/pull/390
在跟踪过时的属性(如 effective_principals)的值时,避免触发 DeprecationWarning。请参阅 https://github.com/Pylons/pyramid_debugtoolbar/pull/391
4.11 (2024-01-27)
放弃对 SQLAlchemy < 1.4 的支持。请参阅 https://github.com/Pylons/pyramid_debugtoolbar/pull/388
添加对 Python 3.12 的支持。
添加对 SQLAlchemy 2.x 的支持。请参阅 https://github.com/Pylons/pyramid_debugtoolbar/pull/388
修复了一个问题,即长时间运行的请求可能不会在没有刷新页面的情况下出现在工具栏 UI 中。
在计算性能间隔时使用 time.monotonic()。
4.10 (2022-01-02)
放弃对 Python 2.7、3.4、3.5、3.6 的支持。
添加对 Python 3.9、3.10、3.11 的支持。
修复了 threading.currentThread() 的过时用法。请参阅 https://github.com/Pylons/pyramid_debugtoolbar/pull/374
4.9 (2020-11-24)
支持 Python 3.9。
增加了一个新的会话面板来跟踪在请求生命周期中注册的ISession接口的入出变化。默认情况下,该面板仅通过包装加载器对访问的会话进行操作。用户可以通过工具栏设置或请求特定的cookie激活会话面板,以跟踪所有请求的入出数据。
从请求变量面板中移除了“会话”部分。
更新了文档和截图。
确保只有在存在响应对象时,头信息面板才会运行,以便在其他面板遇到错误时创建更好的堆栈跟踪。
utils.dictrepr在遇到TypeError时现在会回退到键的字符串比较,这可能在Python3中发生。
添加了一个测试来检查是否在Python3下发生排序错误。如果将来测试失败,这个解决方案可能就不再需要了。
更新了工具栏javascript,以更好地处理多个用户激活的面板。
split和join函数现在使用相同的分隔符。
如果浏览器支持,则使用“集合”来去重活动面板。
在toolbar.js和toolbar.py中添加内联注释,以提醒未来的开发者关于字符串分隔符和cookie名称。
4.8 (2020-10-23)
添加了对事务SQLAlchemy事件的跟踪,以在请求的生命周期中提供更多关于数据库会话行为的洞察。请参阅https://github.com/Pylons/pyramid_debugtoolbar/pull/368
4.7 (2020-10-22)
将black、isort和github actions添加到流水线中。删除travis-ci。
在“请求变量”面板中添加了一些额外的输出,与预览体内容相关。请参阅https://github.com/Pylons/pyramid_debugtoolbar/pull/367
4.6.1 (2020-02-10)
修复了将工具栏注入到XHTML格式页面时的解析错误。请参阅https://github.com/Pylons/pyramid_debugtoolbar/pull/360
4.6 (2020-01-20)
在请求面板的提示中显示完整的URL。请参阅https://github.com/Pylons/pyramid_debugtoolbar/pull/358
4.5.2 (2020-01-06)
为准备Pyramid 2.0中的弃用,停止访问request.unauthenticated_userid。
在序列化SQLA对象以进行显示时捕获ValueError。请参阅https://github.com/Pylons/pyramid_debugtoolbar/pull/357
4.5.1 (2019-11-08)
添加Python 3.8支持。
修复Python 3.7上的内部弃用警告。
4.5 (2018-09-09)
删除Python 3.3支持,以与Pyramid及其EOL保持一致。
添加对Python 3.7的测试支持。
如果在多个引擎中查询,则在SQLAlchemy面板中添加一个引擎列表。请参阅https://github.com/Pylons/pyramid_debugtoolbar/pull/334
当工具栏通过debugtoolbar.intercept_exc = True拦截异常并返回交互式调试器时,它将向请求添加request.exception和request.exc_info,以指示触发响应的异常。这有助于上游tween,如pyramid_retry,可能重试请求。请参阅https://github.com/Pylons/pyramid_debugtoolbar/pull/343
当request.remote_addr值包含以逗号分隔的IP地址链时,停止解析它。拒绝这些值,并向上游发出警告以净化值。请参阅https://github.com/Pylons/pyramid_debugtoolbar/pull/342
4.4 (2018-02-19)
减少压缩异常的日志输出,并将它们放在INFO级别,以便可以根据需要过滤它们。请参阅https://github.com/Pylons/pyramid_debugtoolbar/pull/328和https://github.com/Pylons/pyramid_debugtoolbar/pull/329
4.3.1 (2018-01-28)
针对不支持尾逗号的浏览器的JavaScript语法修复。见https://github.com/Pylons/pyramid_debugtoolbar/pull/326
4.3 (2017-07-14)
日志面板指示器现在使用颜色编码,以指示日志消息的严重性以及该级别的消息数量。可能有更多消息,但最严重的将显示在注释中。
此功能还向< span class="docutils literal">DebugPanel API添加了一个新的< span class="docutils literal">nav_subtitle_style 钩子,用于向副标题标签添加自定义CSS类。
4.2.1 (2017-06-30)
修复了Python < 3.5中压缩异常的日志记录问题。见https://github.com/Pylons/pyramid_debugtoolbar/pull/320
4.2 (2017-06-21)
此版本包含底层异常/跟踪记录机制的重新编写,并修复了由于4.1版本发布而导致的交互式调试器故障的回归。见https://github.com/Pylons/pyramid_debugtoolbar/pull/318
跟踪现在与每个请求的工具栏对象一一对应。一个请求可能只有一个跟踪。之前它们实际上会在整个应用程序的生命周期中保留,而不是由max_request_history设置收集。
异常路由已标准化,以类似于SQLA AJAX路由的外观。例如,/{request_id}/exception 而不是 /exception?token=...&tb=... 和 /{request_id}/exception/execute/{frame_id}?cmd=... 而不是 /exception?token=...&tb=...&frm=...&cmd=...。
修复了跟踪底部链接的URL生成...它实际上之前是空的 - 它在某个地方丢失了。
/favicon.ico不再特别处理..它只是像任何其他要排除的内容一样,是exclude_prefixes的一部分。
request.pdtb_history 在工具栏请求(主要是AJAX请求或面板渲染)中可用。
删除了未使用的记录谓词。
debugger.js 中的URL生成有问题,但现在已修复,因此执行/源按钮可以在跟踪中正常工作。
从4.1中删除了ipaddr模块的许可证。见https://github.com/Pylons/pyramid_debugtoolbar/pull/315
4.1 (2017-05-30)
调试压缩异常!如果您为异常注册了一个视图,它将渲染响应。工具栏将看到压缩异常,并启用工具栏中的< span class="docutils literal">Traceback选项卡,并在控制台输出一条消息。您可以在返回原始响应给用户的同时调试异常。见https://github.com/Pylons/pyramid_debugtoolbar/pull/308
删除了自带的ipaddr包,并在Python 3.3+上使用stdlib ipaddress模块。在Python < 3.3上,ipaddress模块是来自PyPI的依赖项。此依赖项使用环境标记,因此需要pip 8.1.2+。见https://github.com/Pylons/pyramid_debugtoolbar/pull/304
如果工具栏用于显示不再存在的请求,将显示警告。这可能是因为应用程序已重新启动或请求已从max_request_history的末尾掉落。见https://github.com/Pylons/pyramid_debugtoolbar/pull/305
在Python 3.6上启用测试。见https://github.com/Pylons/pyramid_debugtoolbar/pull/306
从本地接口中移除链路本地后缀,以便接收对其的请求。请参阅https://github.com/Pylons/pyramid_debugtoolbar/pull/307
标题面板将其处理推迟到完成回调。这是显示实际标题的最佳尝试,因为它们可能会被响应回调或其他完成回调修改。请参阅https://github.com/Pylons/pyramid_debugtoolbar/pull/310
SQLAlchemy面板内的查询日志不再导致水平滚动,这应该会改善用户体验。请参阅https://github.com/Pylons/pyramid_debugtoolbar/pull/311
4.0.1 (2017-05-09)
修复了4.0版本中其他清理操作破坏的粘性面板功能。请参阅https://github.com/Pylons/pyramid_debugtoolbar/pull/297
4.0 (2017-05-03)
配置设置 debugtoolbar.panels、debugtoolbar.extra_panels、debugtoolbar.global_panels 和 debugtoolbar.extra_global_panels 现在接受在 pyramid_debugtoolbar.panels.DebugPanel.name 中定义的面板名称。因此,您可以使用如 performance、headers 等名称。这些设置仍然支持点分Python路径,但建议现在通过 debugtoolbar.includes 和 config.add_debugtoolbar_panel 来包含面板,以便它们可以自动添加到工具栏中。请参阅https://github.com/Pylons/pyramid_debugtoolbar/pull/288
添加了一个新的 config.add_debugtoolbar_panel 指令,可以从通过 debugtoolbar.includes 设置包含的 includeme 函数中调用。这些面板将自动添加到默认面板列表中,并应该成为定义工具栏面板的未来方式。请参阅https://github.com/Pylons/pyramid_debugtoolbar/pull/283
添加了一个新的 config.inject_parent_action 指令,可以从通过 debugtoolbar.includes 设置包含的 includeme 函数中调用。这些操作在父配置创建之前被调用,以便操作可以检查/包装现有的配置。请参阅https://github.com/Pylons/pyramid_debugtoolbar/pull/288
添加了“粘性”面板功能,允许选定的面板通过cookies在页面之间持久存在。如果带cookie的面板没有可用于显示的内容,则将显示第一个非禁用面板。如果带cookie的面板在工具栏上未启用,则将显示第一个非禁用面板,并且将成为新的默认面板。请参阅https://github.com/Pylons/pyramid_debugtoolbar/pull/272
向javascript添加了 CustomLoggerFactory,用于PR 272的开发。此javascript工厂允许面板开发人员和维护人员在开发期间使用详细的控制台日志记录,按功能分区,并在部署时保持日志行激活,同时将其静音。
工具栏在您的应用程序中注册了一个 BeforeRender 订阅者,以监视模板的渲染。之前,由于订阅者注册的顺序,工具栏可能会错过渲染信息。现在,工具栏将等待应用程序创建,然后附加一个新订阅者,该订阅者封装了您的应用程序的 BeforeRender 订阅者。请参阅https://github.com/Pylons/pyramid_debugtoolbar/pull/284
在历史标签页html中删除重复的id="${panel.dom_id}"标签。现在只有顶层的<li>标签具有id。参见https://github.com/Pylons/pyramid_debugtoolbar/pull/285
如果应用程序由一个设置environ['wsgi.multiprocess']为True的forking/multiprocess wsgi服务器提供服务,则发出警告并禁用工具栏。这应该有助于避免在某些部署(如gunicorn和uwsgi的多进程模式)中出现的混淆问题。参见https://github.com/Pylons/pyramid_debugtoolbar/pull/286
工具栏tween始终显式地放置在pyramid_tm tween之上。
重构所有debugtoolbar面板,使用config.add_debugtoolbar_panel和每个面板的includeme函数进行包含。参见https://github.com/Pylons/pyramid_debugtoolbar/pull/288
公开了一个request.toolbar_panels字典,可以在DebugPanel.render_content和DebugPanel.render_vars中使用它,以在渲染面板时检查和使用其他面板生成的数据。参见https://github.com/Pylons/pyramid_debugtoolbar/pull/291
通过使用Server-Sent-Events polyfill支持在Microsoft Edge和Internet Explorer 8+上流式传输新的请求。参见https://github.com/Pylons/pyramid_debugtoolbar/pull/293
3.0.5 (2016-11-1)
更改静态工具栏资源以适应色盲。参见https://github.com/Pylons/pyramid_debugtoolbar/issues/273
3.0.4 (2016-07-26)
3.0.3是一个缺少静态资源的brownbag发布。
3.0.3 (2016-07-26)
修复了工具栏修改对自身请求的回归,导致在处理请求后script_name和path_info与之前不同。参见https://github.com/Pylons/pyramid_debugtoolbar/pull/269
3.0.2 (2016-07-02)
修复了在工具栏执行之前加载会话时检查请求的回归。参见https://github.com/Pylons/pyramid_debugtoolbar/pull/268
3.0.1 (2016-05-20)
除非用户在正常的请求生命周期中访问它们,否则请避免触摸request.unauthenticated_userid、request.authenticated_userid和request.effective_principals。这避免了未经身份验证的请求可能触发您的身份验证策略的副作用或访问属性预期生命周期之外的问题。参见https://github.com/Pylons/pyramid_debugtoolbar/pull/263
3.0 (2016-04-23)
现在工具栏是一个完全独立的应用程序,在tween内部运行。这与额外的隔离有关,存在一些小的兼容性和改进。
pyramid_mako和.dbtmako渲染器不再包含在父应用程序(您的应用程序)中。
面板现在必须格外小心,因为它们仅在render_vars和render_content函数内部渲染模板。这些是唯一可以用于渲染工具栏面板的函数。
除了通过config.set_debugtoolbar_request_authorization之外,工具栏不会受应用程序可能放置的任何全局安全策略的影响。永远不要在生产环境中运行工具栏
更新Bootstrap到v3.3.6,重构了静态资源并删除了require.js。每个页面现在都依赖于它所需要的内容,而不会在调试页面中包含额外的依赖项。参见https://github.com/Pylons/pyramid_debugtoolbar/pull/259
在表格列上启用了交互式排序。请参阅 https://github.com/Pylons/pyramid_debugtoolbar/pull/256
安装代码库时现在需要 setuptools-git 以非可编辑模式。
2.5 (2016-04-20)
取消支持 Python 2.6 和 Python 3.2。
添加对 Python 3.5 的支持。
从注入的页面中移除内联 JavaScript 以更好地与可能存在的任何内容安全策略兼容。请参阅 https://github.com/Pylons/pyramid_debugtoolbar/pull/250
将软件包的 .location 添加到“版本”面板中,以便开发人员可以知道每个软件包正在使用哪个版本。请参阅 https://github.com/Pylons/pyramid_debugtoolbar/pull/240
在发生异常时,在读取以显示跟踪回溯时,更好地猜测源文件的字符集。请参阅 https://github.com/Pylons/pyramid_debugtoolbar/pull/244
从工具栏中移除了引用名为“myTab”的 DOM 节点的 jQuery 代码,因为这个节点可能已不存在。请参阅 https://github.com/Pylons/pyramid_debugtoolbar/pull/247
更新了“请求变量”面板:1. 显示之前缺失的额外值 2. 部分升级为在可能的情况下链接到 Pyramid 文档 3. Mako 重新格式化为“defs”,以便将来更容易重组。请参阅 https://github.com/Pylons/pyramid_debugtoolbar/pull/241
修复了防止工具栏在用户实际访问之前加载会话的问题。这避免了不必要的会话对象解析,以及直到请求后期才解析它,这可能更符合会话工厂的期望。请参阅 https://github.com/Pylons/pyramid_debugtoolbar/pull/249
2.4.2 (2015-10-28)
修复了一个长期存在的错误,即日志消息直到响应结束才渲染。此时传递给记录器的参数可能不再有效(例如 SQLAlchemy 管理对象),您将看到 DetachedInstanceError。请参阅 https://github.com/Pylons/pyramid_debugtoolbar/issues/188
2.4.1 (2015-08-12)
在通过 URL 对 SQL 查询进行索引时,移除了构建的额外查询哈希,因为发布 2.4 以后它不再使用。请参阅 https://github.com/Pylons/pyramid_debugtoolbar/pull/232
2.4 (2015-06-04)
本次发布更改了一些面板 API 的细节,因此如果您为工具栏编写任何自定义面板,请审查这些更改。
记录用于按请求激活面板的 cookie。可以按请求指定 cookie 以打开某些面板。默认情况下,在浏览器中使用此功能,但它也可以通过 curl 或其他 http API 在按请求的基础上使用。
添加了新的 debugtoolbar.active_panels 设置,可以指定始终激活的某些面板。
修改 DebugPanel.name 以使其成为有效的 Python 标识符,用于设置和查找。
工具栏不再会覆盖 request.id 属性。现在它使用 request.pdtb_id 命名空间其使用,为应用程序释放 request.id。
如果请求通过 https 访问,则在小侧边栏中请求方法旁边添加一个锁定图标。请参阅 https://github.com/Pylons/pyramid_debugtoolbar/pull/213
更新到 bootstrap 3.1.1。请参阅 https://github.com/Pylons/pyramid_debugtoolbar/pull/213
修复了在同一个键多次使用时显示 POST 变量的问题。请参阅 https://github.com/Pylons/pyramid_debugtoolbar/pull/210
修复了身份验证回调,以保护工具栏视图。现在已测试身份验证系统。请参阅 https://github.com/Pylons/pyramid_debugtoolbar/pull/226
将 SQLAlchemy 视图转换为内部获取查询和参数;这允许执行带有不可序列化参数的查询。请参阅 https://github.com/Pylons/pyramid_debugtoolbar/pull/227
添加了 Pyramid 版本测试,并将所需 Pyramid 版本提升到 1.4。pyramid_mako 依赖项要求 1.3,但 debugtoolbar 也使用了在 1.4 中添加的 invoke_subrequest。在 pyramid_debugtoolbar 2.0 中添加了 invoke_subrequest 调用;如果您需要 Pyramid 1.3 兼容性,请尝试使用旧版本。请参阅 https://github.com/Pylons/pyramid_debugtoolbar/issues/183 和 https://github.com/Pylons/pyramid_debugtoolbar/pull/225
2.3 (2015-01-05)
支持 debugtoolbar.includes 设置,这将允许插件扩展工具栏的内部 Pyramid 应用程序以自定义逻辑。请参阅 https://github.com/Pylons/pyramid_debugtoolbar/issues/207
修复了当工具栏未安装于域名根目录时的问题。请参阅 https://github.com/Pylons/pyramid_debugtoolbar/pull/201
修复了当 button_css 未从设置中提取时的问题。增加了对可配置的 max_request_history 和 max_visible_requests 的支持。请参阅 https://github.com/Pylons/pyramid_debugtoolbar/pull/206
2.2.2 (2014-11-09)
打包了 2.2.1 版本,但忘记包含模板!
2.2.1 (2014-11-09)
由于某些内部链接不是相对路径,当应用程序安装于路径前缀时,导致它们失败。请参阅 https://github.com/Pylons/pyramid_debugtoolbar/pull/185 和 https://github.com/Pylons/pyramid_debugtoolbar/pull/196
将 pygments<2 锁定在 3.2 上,因为新版本已停止支持。
2.2 (2014-08-12)
避免因仅显示按钮而将不必要的工具栏 CSS 污染用户代码。请参阅 https://github.com/Pylons/pyramid_debugtoolbar/pull/174
将工具栏按钮注入到 application/xhtml+xml 请求中。请参阅 https://github.com/Pylons/pyramid_debugtoolbar/pull/176
在应用程序服务另一个请求之前,使工具栏可访问。请参阅 https://github.com/Pylons/pyramid_debugtoolbar/pull/171
2.1 (2014-05-22)
添加新的 “debugtoolbar.” 配置设置,允许在用户的 .ini 文件中启用或禁用各种 Pyramid 开关。例如,这使得启用/禁用 debugtoolbar 的模板重新加载变得简单。
即使父应用程序使用默认权限,也允许工具栏始终显示。请参阅 https://github.com/Pylons/pyramid_debugtoolbar/issues/147
稳定并记录了 pyramid_debugtoolbar.panels.DebugPanel API,以允许开发人员创建自己的面板。
添加了新的 debugtoolbar.extra_panels 和 debugtoolbar.extra_global_panels 配置设置,使支持自定义面板而不覆盖默认面板变得简单。
2.0.2 (2014-02-13)
修复了在 Py3k 下运行时的破坏性错误。
2.0.1 (2014-02-12)
修复了在 2.0 版本中预期 pyramid_beaker 存在的漏洞。
2.0 (2014-02-12)
工具栏已进行重大重构,以减轻工具栏内部行为对连接的应用程序的影响,并使检查任意请求成为可能。现在它可在 /_debug_toolbar 处使用,可用于监控任何和所有由包装的 Pyramid 应用程序服务请求,包括非 HTML 响应。
当请求进入 Pyramid 应用程序时,工具栏将实时更新(通过服务器发送事件在符合规范的浏览器中),可用于调试和同时检查多个请求。
1.0.9 (2013-10-20)
使用新的 pyramid_mako 配置指令 add_mako_renderer。
1.0.8 (2013-09-09)
依赖于 pyramid_mako(Mako 支持将在 1.5+ 中从 Pyramid 中分离)。
1.0.7 (2013-08-29)
停止支持 Python 2.5。
修复代理地址的计算。请参阅https://github.com/Pylons/pyramid_debugtoolbar/pull/100 。
在Python 3.2下,使模板与无MarkupSafe Mako兼容。
使用utf-8编码将平台名称解码为Unicode,以处理平台中的非ASCII字符(例如,Fedora的Schrodinger的猫)。请参阅https://github.com/Pylons/pyramid_debugtoolbar/pull/98
当请求路径无法解码时,引发
pyramid.exceptions.URLDecodeError
而不是原始的UnicodeDecodeError。请参阅https://github.com/Pylons/pyramid/issues/1057。添加了新的配置选项:
debugtoolbar.show_on_exc_only
(默认=false)。如果设置为true(debugtoolbar.show_on_exc_only = true
),则仅在发生异常时将调试工具栏注入到响应中。如果处理响应没有异常,则返回的HTML代码完全不变。请参阅https://github.com/Pylons/pyramid_debugtoolbar/issues/54修复了各种UnicodeDecodeError异常。
1.0.6 (2013-04-17)
仅打包发布版本,没有代码更改。1.0.5是一个brownbag发布,因为tar包中缺少目录。
1.0.5 (2013-04-17)
当request.remote_addr是一个逗号分隔的代理IP列表时,正确解析IP。
如果您也使用require.js,调试工具栏的jQuery版本将不再与您的应用程序的库版本冲突。
在链接中包含原始SQL时,使用“n”过滤器禁用default_filters,仅留下“u”过滤器(URL转义)。
通过
config.set_debugtoolbar_request_authorization(callback)
支持通过请求授权工具栏中间件,其中回调接受请求对象并返回一个布尔值,表示工具栏是否启用。防止将二进制查询参数转换为json时的错误。
将sqlalchemy查询持续时间从微秒转换为毫秒。
1.0.4 (2013-01-05)
添加
debugtoolbar.excluded_prefixes
设置。当URL路径前缀与这些前缀之一匹配时,工具栏将不会显示在结果页面上。始终显示提示和小文本文件图标,而不是仅在悬停时显示。
不要在结果框上设置最大高度(这会导致页面上的嵌套滚动,使得快速查找信息变得困难)。
当表达式结果很长时,不要使用省略号截断,这需要再点击一次才能获取所需的信息。
支持从GitHub仓库使用
pip install
,通过在setup.py
的package_data
中添加安装所需的全部静态文件。Setuptools通常使用Subversion或CVS来告诉它需要打包到egg分发中的静态文件,但它不支持读取git元数据。调试工具栏现在使用一个带有独特私有名称的修补版本require.js,该名称不会与dojo加载程序或其他可能已加载在页面上的不兼容版本的require冲突。您不再需要将工具栏添加到自己的require.js中才能使其工作。
1.0.3 (2012-09-23)
pyramid_debugtoolbar视图内部使用的自定义谓词
valid_host
没有使用基于“ipaddr”的新逻辑。症状:如果您使用网络掩码作为“debugtoolbar.hosts”选项,则某些视图可能无法正确访问。调试控制台现在与Google App Engine兼容。
调试控制台现在通过
_
添加了一个访问最后一个结果的快捷方式。
1.0.2 (2012-04-19)
将工具栏和调试JavaScript文件移动到使用requirejs以更好地进行依赖项加载和模块隔离,以更好地与多个库版本协同工作。常见问题是异步加载和应用特定的jQuery库,其中期望的版本被工具栏版本覆盖。
如果您已经使用requirejs并希望加载工具栏,只需将其添加到路径和模块中即可。
require.config({ paths: { "jquery": "jquery-1.7.2.min", "toolbar": "/_debug_toolbar/static/js/toolbar" } }); require(["jquery", "toolbar"], function($, toolbar) { $(function() { // your module }); });
1.0.1 (2012-03-27)
如果
request.remote_addr
是None
,则禁用工具栏。
1.0 (2012-03-17)
不要在 SQLAlchemy 面板中 URL 引用 SQL 参数。
允许将 hostmask 值作为 debugtoolbar.hosts 条目(例如 192.168.1.0/24)。
0.9.9.1 (2012-02-22)
当与 Pyramid 1.3a9+ 一起使用时,由 pyramid_debugtoolbar 本身创建的视图、路由和其他注册将不会显示在可检查的面板中。
0.9.9 (2012-02-19)
尝试在 Pyramid 1.3a8+ 中利用 MakoRendererFactoryHelper。如果我们能这样做,工具栏模板就不会受到正常 mako 设置的影响。最明显的更改是工具栏 mako 模板现在具有 dbtmako 扩展。
0.9.8 (2012-01-09)
在“请求头部”面板下显示请求头部,而不是错误地显示环境值。这也解决了潜在的 UnicodeDecodeError。
在替换原始内容的同时重新生成 app_iter 时,在响应对象上设置 content_length。
0.9.7 (2011-12-09)
debugtoolbar 的性能面板使用了名为 function_calls 的变量,当不收集统计信息时未初始化。这导致在 mako 渲染具有 strict_undefined 选项的模板时出现 NameError。
修复 SQLAlchemy 面板中的 Python 3 兼容性。
让 SQLAlchemy 的 explain 和 select 重新工作。
0.9.6 (2011-12-09)
添加了“检查”面板;仅在 Pyramid 1.3dev+ 下激活(需要 Pyramid 检查子系统)。
解决性能面板模板变量导致意外结果的 heisenbug 报告。无法重复,但报告者表示修复对他有效,所以进行祈求。见 https://github.com/Pylons/pyramid_debugtoolbar/commit/5719c97ea2a3a41fc01e261403d0167cc38f3b49
0.9.5 (2011-11-12)
调整 tox 设置以测试低于 2.5 的旧 Pyramid 和 WebOb 分支。
将所有模板转换为 Mako。
不要依赖 pyramid.compat.json。
添加 Tweens 工具栏面板。
0.9.4 (2011-09-28)
升级到 jquery 1.6.4 和 tablesorter 插件 2.0.5b
引入了新的设置 debugtoolbar.button_style。它可以用来覆盖由 toolbar.css 设置的默认样式(top:30px)。
兼容 Python 3.2(需要 Pyramid 1.3dev+)。
平息对设置调试面板中的 __getattr__ 敏感的设置值(例如 MongoDB 数据库)。见 https://github.com/Pylons/pyramid_debugtoolbar/issues/30
0.9.3 (2011-09-12)
现在所有调试工具栏面板和底层视图都可以由完全匿名的用户始终执行,无论可能生效的默认权限如何(对所有调试工具栏视图使用 NO_PERMISSION_REQUIRED 权限)。
工具栏 cookie 设置名称已更改(从 fldt 更改为 p_dt),以避免弄乱同时使用 Flask 调试工具和 Pyramid 的用户。
修复了工具栏在 IE7 和 IE8 中的渲染。
0.9.2 (2011-09-05)
当发生异常时,将异常体记录到调试工具栏记录器中。
不要在日志面板中将根记录器级别重置为 NOTSET(将控制台日志输出改为正常)。
0.9.1 (2011-08-30)
debugtoolbar.intercept_exc 设置现在是三态设置。它可以是 debug、display 或 false 之一。 debug 表示显示带有调试控制的漂亮跟踪页面。 display 表示显示漂亮的跟踪包,但省略调试控制。 false 表示不显示漂亮的跟踪页面。出于向后兼容性的目的, true 表示 debug。
当 debugtoolbar.intercept_exc 为 debug 或 display 时,现在将记录每个异常的 URL 到控制台。此 URL 可用于显示异常的“漂亮”跟踪页面。当异常由 AJAX 或非人类驱动的请求引起时,这很有用。此 URL 还被注入到漂亮的跟踪页面(在底部)。
0.9版本中SQL EXPLAIN的“未修复”缩进,当列值不是字符串时破坏了解释页面。
0.9 (2011-08-29)
通过用HTML空格替换空格修复了SQL EXPLAIN的缩进。
在某些用户报告的未定义情况下,response.charset可能是None,这会导致尝试渲染调试工具栏时引发异常。在这种情况下,我们现在假设字符集是UTF-8。
一些请求变量和渲染器值的渲染会引发未捕获的异常。
0.8 (2011-08-24)
尝试应对那些出于某种原因将pstats模块与Python分开打包的愚蠢的Debian Python安装。在这种情况下,关闭性能面板而不是崩溃。
0.7 (2011-08-24)
仅文档更改。
0.6 (2011-08-21)
在注册隐式缓动工厂时不要注册别名(与未来的1.2版兼容)。
0.5 (2011-08-18)
由于使用resource模块,工具栏在Windows下无法工作:https://github.com/Pylons/pyramid_debugtoolbar/issues/12
0.4 (2011-08-18)
将debugtoolbar.intercept_redirects的默认值更改为false。理由:如果正在开发的应用程序具有执行重定向的主页,这会让人困惑。
0.3 (2011-08-15)
在某些情况下,请求变量面板会导致UnicodeDecodeError(见https://github.com/Pylons/pyramid_debugtoolbar/issues/9)。
动态化SQLAlchemy子面板的URL。
安装时需要“pyramid>=1.2dev”;现在的分支是“1.2dev”而不是“1.1.1dev”。
需要2011年8月14日之后的分支:WSGIHTTPException “prepare”方法和添加_tween的alias参数,BeforeRender事件没有“_system”属性。
修复内存泄漏。
现在使用调试工具栏div渲染HTML HTTP异常。
向演示应用程序和selenium测试添加了NotFound页面。
0.2 (2011-08-07)
添加SQLAlchemy的“explain”和“select”页面(从页面中每个查询旁边的SQLAlchemy面板中获取)。
需要更新的Pyramid分支(在2011年8月7日或之后检出)。
从演示应用程序索引页面添加到SQLAlchemy演示页面的链接。
0.1 (2011-07-30)
初始版本。
项目详情
下载文件
下载适用于您的平台的文件。如果您不确定选择哪个,请了解有关安装包的更多信息。