🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
# Flask-DebugToolbar 该扩展为 Flask 应用程序添加了一个包含有用的调试信息的工具栏。 ![https://box.kancloud.cn/2016-03-12_56e38c2707ca5.gif](https://box.kancloud.cn/2016-03-12_56e38c2707ca5.gif) ## 安装 简单地使用 [pip](https://pip.pypa.io/) 来安装: ``` $ pip install flask-debugtoolbar ``` ## 用法 设置调试工具栏是简单的: ``` from flask import Flask from flask_debugtoolbar import DebugToolbarExtension app = Flask(__name__) # the toolbar is only enabled in debug mode: app.debug = True # set a 'SECRET_KEY' to enable the Flask session cookies app.config['SECRET_KEY'] = '<replace with a secret key>' toolbar = DebugToolbarExtension(app) ``` 当调试模式开启的时候,工具栏会自动地给添加到 Jinja 模板中。在生产环境中,设置 `app.debug = False` 将会禁用工具栏。 该扩展也支持 Flask 应用的工厂模式,先单独地创建工具栏接着后面为应用初始化它: ``` toolbar = DebugToolbarExtension() # Then later on. app = create_app('the-config.cfg') toolbar.init_app(app) ``` ## 配置 工具栏支持多个配置选项: | 名称 | 描述 | 默认值 | | --- | --- | --- | | `DEBUG_TB_ENABLED` | 启用工具栏? | `app.debug` | | `DEBUG_TB_HOSTS` | 显示工具栏的 hosts 白名单 | 任意 host | | `DEBUG_TB_INTERCEPT_REDIRECTS` | 要拦截重定向? | `True` | | `DEBUG_TB_PANELS` | 面板的模板/类名的清单 | 允许所有内置的面板 | | `DEBUG_TB_PROFILER_ENABLED` | 启用所有请求的分析工具 | `False`, 用户自行开启 | | `DEBUG_TB_TEMPLATE_EDITOR_ENABLED` | 启用模板编辑器 | `False` | 要更改配置选项之一,在 Flask 应用程序配置中像这样设置它: ``` app.config['DEBUG_TB_INTERCEPT_REDIRECTS'] = False ``` # 内置的 Panels ## 版本 `flask_debugtoolbar.panels.versions.VersionDebugPanel` 显示已安装的 Flask 版本。展开的视图显示了由 `setuptools` 发现的所有已安装的包和它们的版本。 ## 时间 `flask_debugtoolbar.panels.timer.TimerDebugPanel` 显示处理当前请求的时间。展开后的视图包含了用户态和系统态,执行时间,上下文切换的 CPU 时间分解。 ![https://box.kancloud.cn/2016-03-12_56e38c272ae67.png](https://box.kancloud.cn/2016-03-12_56e38c272ae67.png) ## HTTP 头 `flask_debugtoolbar.panels.headers.HeaderDebugPanel` 显示了目前请求的 HTTP 头。 ![https://box.kancloud.cn/2016-03-12_56e38c274eeec.png](https://box.kancloud.cn/2016-03-12_56e38c274eeec.png) ## Request 变量 `flask_debugtoolbar.panels.request_vars.RequestVarsDebugPanel` 展现了 Flask 请求相关的变量的细节,包含视图函数变量,会话变量,以及 GET 和 POST 变量。 ![https://box.kancloud.cn/2016-03-12_56e38c2769beb.png](https://box.kancloud.cn/2016-03-12_56e38c2769beb.png) ## 配置 `flask_debugtoolbar.panels.config_vars.ConfigVarsDebugPanel` 显示了 Flask 应用程序配置字典 `app.config` 的内容。 ![https://box.kancloud.cn/2016-03-12_56e38c2786900.png](https://box.kancloud.cn/2016-03-12_56e38c2786900.png) ## 模板 `flask_debugtoolbar.panels.template.TemplateDebugPanel` 显示关于为某个请求渲染模板的信息,以及提供的模板参数的值。 ![https://box.kancloud.cn/2016-03-12_56e38c27a147d.png](https://box.kancloud.cn/2016-03-12_56e38c27a147d.png) ## SQLAlchemy `flask_debugtoolbar.panels.sqlalchemy.SQLAlchemyDebugPanel` 显示了当前请求过程中运行的 SQL 查询。 Note 为了记录查询,这个面板需要使用 [Flask-SQLAlchemy](http://flask-sqlalchemy.pocoo.org/) 扩展。 请查看 Flask-SQLAlchemy 的 [_Quickstart_](http://flask-sqlalchemy.pocoo.org/2.0/quickstart/#quickstart "(in Flask-SQLAlchemy v2.0)") 章节来配置它。 更多关于查询记录的信息请查看文档 [`get_debug_queries()`](http://flask-sqlalchemy.pocoo.org/2.0/api/#flask.ext.sqlalchemy.get_debug_queries "(in Flask-SQLAlchemy v2.0)")。 ![https://box.kancloud.cn/2016-03-12_56e38c27b764a.png](https://box.kancloud.cn/2016-03-12_56e38c27b764a.png) ## 日志 `flask_debugtoolbar.panels.logger.LoggingPanel` 显示了当前请求的日志信息 ![https://box.kancloud.cn/2016-03-12_56e38c27ca2fd.png](https://box.kancloud.cn/2016-03-12_56e38c27ca2fd.png) ## 路由列表 `flask_debugtoolbar.panels.route_list.RouteListDebugPanel` 显示了 Flask URL 路由规则。 ## 分析/探查 `flask_debugtoolbar.panels.profiler.ProfilerDebugPanel` 报告当前请求的分析/探查数据。由于性能的考虑,默认情况下分析/探查是禁用的。单击点中选择分析/探查的标记来决定开启或者关闭。在启用分析/探查后,重新刷新页面来运行分析/探查。 ![https://box.kancloud.cn/2016-03-12_56e38c27e28fe.png](https://box.kancloud.cn/2016-03-12_56e38c27e28fe.png) ## 贡献 Fork 我们在 [GitHub](https://github.com/mgood/flask-debugtoolbar) 上。 ## 感谢 本扩展是基于 [django-debug-toolbar](https://github.com/django-debug-toolbar/django-debug-toolbar) 。多谢 [Michael van Tellingen](https://github.com/mvantellingen) 为了这个 Flask 扩展最初的开发,并且感谢 [individual contributors](https://github.com/mgood/flask-debugtoolbar/graphs/contributors) 中的每一个人。