Flask-DebugToolbar

This extension adds a toolbar overlay to Flask applications containing useful information for debugging.

_images/example.gif

Installation

Installing is simple with pip:

$ pip install flask-debugtoolbar

Usage

Setting up the debug toolbar is simple:

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)

The toolbar will automatically be injected into HTML responses when debug mode is on. In production, setting app.debug = False will disable the toolbar.

This extension also supports the Flask app factory pattern by separately creating the toolbar and later initializing it for an app:

toolbar = DebugToolbarExtension()
# Then later on.
app = create_app('the-config.cfg')
toolbar.init_app(app)

Configuration

The toolbar support several configuration options:

Name

Description

Default

DEBUG_TB_ENABLED

Enable the toolbar?

app.debug

DEBUG_TB_HOSTS

Whitelist of hosts to display toolbar

any host

DEBUG_TB_INTERCEPT_REDIRECTS

Should intercept redirects?

True

DEBUG_TB_PANELS

List of module/class names of panels

enable all built-in panels

DEBUG_TB_PROFILER_ENABLED

Enable the profiler on all requests

False, user-enabled

DEBUG_TB_TEMPLATE_EDITOR_ENABLED

Enable the template editor

False

DEBUG_TB_PROFILER_DUMP_FILENAME

Filename of the profiler stats dump, can be a str or a callable

None, no dump will be written

To change one of the config options, set it in the Flask app’s config like:

app.config['DEBUG_TB_INTERCEPT_REDIRECTS'] = False

Panels

Contributing

Fork us on GitHub

Thanks

This was based on the original django-debug-toolbar. Thanks to Michael van Tellingen for the original development of this Flask extension, and to all the individual contributors.

Indices and tables