# Flask-DebugToolbar
該擴展為 Flask 應用程序添加了一個包含有用的調試信息的工具欄。

## 安裝
簡單地使用 [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 時間分解。

## HTTP 頭
`flask_debugtoolbar.panels.headers.HeaderDebugPanel`
顯示了目前請求的 HTTP 頭。

## Request 變量
`flask_debugtoolbar.panels.request_vars.RequestVarsDebugPanel`
展現了 Flask 請求相關的變量的細節,包含視圖函數變量,會話變量,以及 GET 和 POST 變量。

## 配置
`flask_debugtoolbar.panels.config_vars.ConfigVarsDebugPanel`
顯示了 Flask 應用程序配置字典 `app.config` 的內容。

## 模板
`flask_debugtoolbar.panels.template.TemplateDebugPanel`
顯示關于為某個請求渲染模板的信息,以及提供的模板參數的值。

## 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)")。

## 日志
`flask_debugtoolbar.panels.logger.LoggingPanel`
顯示了當前請求的日志信息

## 路由列表
`flask_debugtoolbar.panels.route_list.RouteListDebugPanel`
顯示了 Flask URL 路由規則。
## 分析/探查
`flask_debugtoolbar.panels.profiler.ProfilerDebugPanel`
報告當前請求的分析/探查數據。由于性能的考慮,默認情況下分析/探查是禁用的。單擊點中選擇分析/探查的標記來決定開啟或者關閉。在啟用分析/探查后,重新刷新頁面來運行分析/探查。

## 貢獻
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) 中的每一個人。