为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 |