为aiohttp提供的debugtoolbar
项目描述
aiohttp-debugtoolbar
aiohttp_debugtoolbar 为您的 aiohttp 网络应用提供了一个调试工具栏。库是 pyramid_debugtoolbar 的移植,目前处于早期开发阶段。已移植基本功能
基本面板
拦截重定向
拦截并格式化打印异常
交互式Python控制台
显示源代码
移植面板
HeaderDebugPanel、PerformanceDebugPanel、TracebackPanel、SettingsDebugPanel、MiddlewaresDebugPanel、VersionDebugPanel、RoutesDebugPanel、RequestVarsDebugPanel、LoggingPanel
需要帮助
您是一名寻找为python/asyncio库贡献项目的程序员吗?这就是您要找的项目!
安装和配置
$ pip install aiohttp_debugtoolbar
为了连接到 aiohttp_debugtoolbar,请在您的应用程序中调用 aiohttp_debugtoolbar.setup。
import aiohttp_debugtoolbar
app = web.Application(loop=loop)
aiohttp_debugtoolbar.setup(app)
完整示例
import asyncio
import jinja2
import aiohttp_debugtoolbar
import aiohttp_jinja2
from aiohttp import web
@aiohttp_jinja2.template('index.html')
async def basic_handler(request):
return {'title': 'example aiohttp_debugtoolbar!',
'text': 'Hello aiohttp_debugtoolbar!',
'app': request.app}
async def exception_handler(request):
raise NotImplementedError
async def init(loop):
# add aiohttp_debugtoolbar middleware to you application
app = web.Application(loop=loop)
# install aiohttp_debugtoolbar
aiohttp_debugtoolbar.setup(app)
template = """
<html>
<head>
<title>{{ title }}</title>
</head>
<body>
<h1>{{ text }}</h1>
<p>
<a href="{{ app.router['exc_example'].url() }}">
Exception example</a>
</p>
</body>
</html>
"""
# install jinja2 templates
loader = jinja2.DictLoader({'index.html': template})
aiohttp_jinja2.setup(app, loader=loader)
# init routes for index page, and page with error
app.router.add_route('GET', '/', basic_handler, name='index')
app.router.add_route('GET', '/exc', exception_handler,
name='exc_example')
return app
loop = asyncio.get_event_loop()
app = loop.run_until_complete(init(loop))
web.run_app(app, host='127.0.0.1', port=9000)
设置
aiohttp_debugtoolbar.setup(app, hosts=['172.19.0.1', ])
支持选项
enabled:如果为False,则禁用debugtoolbar。默认设置为True。
intercept_redirects:如果为True,则拦截重定向并显示一个带有重定向页面链接的中间页面。默认设置为True。
hosts:允许的主机列表。默认设置为[‘127.0.0.1’,‘::1’]。
exclude_prefixes:禁止的主机列表。默认设置为[]。
check_host:如果为False,则禁用主机检查并显示任何主机的debugtoolbar。默认设置为True。
max_request_history:存储请求的最大值。默认设置为100。
max_visible_requests:显示请求的最大值。默认设置为10。
path_prefix:debugtoolbar路径的前缀。默认设置为‘/_debugtoolbar’。
谢谢!
我从以下项目中借用了大量代码。我强烈建议您检查它们
玩玩演示
https://github.com/aio-libs/aiohttp_debugtoolbar/tree/master/demo
需求
变更日志
0.6.1 (2023-11-19)
从请求历史中过滤掉发送到debugtoolbar本身的请求。
通过延迟加载包数据来提高导入时间。
在使用yarl 1.9+时修复了静态URL。
修复了re模块中的警告。
切换到 aiohttp.web.AppKey 以支持aiohttp 3.9。
删除了Python 3.7并添加了Python 3.11。
0.6.0 (2020-01-25)
修复了ClassBasedView支持。#207
删除了aiohttp<3.3支持。
删除了Python 3.4支持。
删除了 yield from 和 @asyncio.coroutine 支持。
0.5.0 (2018-02-14)
向render_content添加了安全过滤器。#195
添加了对aiohtp 3的支持。
0.4.1 (2017-08-30)
修复了没有location头部的重定向问题。#174
0.4.0 (2017-05-04)
添加了asyncio trove分类器。
添加了对aiohttp 2.0.7+的支持。
0.3.0 (2016-11-18)
修复了使用子应用程序时中间件路由查找的问题。#65
为额外的面板添加了示例:pgsql & redis监控器。#59
0.2.0 (2016-11-08)
重构了测试套件。
0.1.4 (2016-11-07)
重命名为aiohttp-debugtoolbar。
修复了与aiohttp 1.1的不兼容性。
0.1.3 (2016-10-27)
修复了请求信息页面的链接,并按字母顺序排序请求信息。#52
0.1.2 (2016-09-27)
修复了性能面板中空函数名称的问题。#43(感谢 @kammala!)
修复了页面渲染过程中的闪烁信息问题。#46
0.1.1 (2016-02-21)
修复了演示。
在回溯视图中添加了语法高亮,将高亮器从highlight.js切换到prism.js。#31
0.1.0 (2016-02-13)
添加了对Python 3.5的支持。(感谢 @stormandco!)
在RoutesDebugPanel中添加了查看源代码按钮。(感谢 @stormandco!)
删除了对Python 3.3的支持。(感谢 @sloria!)
在setup方法中添加了中间件。(感谢 @sloria!)
修复了交互式控制台的问题。
修复了对aiohttp>=0.21.1的支持。
0.0.5 (2015-09-13)
修复了IPv6套接字家族错误。(感谢 @stormandco!)
0.0.4 (2015-09-05)
修复了对aiohttp>=0.17的支持。(感谢 @himikof!)
0.0.3 (2015-07-03)
将模板引擎从mako切换到jinja2。(感谢 @iho!)
添加了自定义 yield from 以跟踪协程内部的上下文切换。
实现了收集请求日志消息的面板。
对于非web.Response答案(例如StreamResponse或WebSocketResponse),禁用工具栏代码注入。#12
0.0.2 (2015-05-26)
重新设计UI外观。
将 toolbar_middleware_factory 重命名为 middleware。
0.0.1 (2015-05-18)
初始发布。
项目详情
下载文件
下载适合您平台文件的文件。如果您不确定选择哪个,请了解更多关于安装包的信息。
源分发
构建分发
aiohttp-debugtoolbar-0.6.1.tar.gz 的散列值
算法 | 散列摘要 | |
---|---|---|
SHA256 | cd7ae54c600db7ae7d9dc3404b81f95209a6367df1d59e13ea20f9926e36e001 |
|
MD5 | 3be0e457798dbd301f4cfe8da43166d4 |
|
BLAKE2b-256 | bd72cd80c0d1d425d5ef50e5b23553040e8d9fa5de5714208d3d18ae8806b6de |
aiohttp_debugtoolbar-0.6.1-py3-none-any.whl 的散列值
算法 | 散列摘要 | |
---|---|---|
SHA256 | cbb876a350bbca497f8c46fff96d0ebdbd552ba6d0bb80ec3a5e95270b0f1f65 |
|
MD5 | 66e66dabe0c903cf1efc1ff3199521ac |
|
BLAKE2b-256 | 6daefe3fe922b6efb0c27e6244c99d60330f8f3f39de42510137bf7c205adeb4 |