The Swiss Army Knife For Python Web Developers
Depending on the WSGI gateway/server, exceptions are handled differently. But most of the time, exceptions go to stderr or the error log.
Since this is not the best debugging environment, Werkzeug provides a WSGI middleware that renders nice debugging tracebacks, optionally with an AJAX based debugger (which allows to execute code in the context of the traceback’s frames).
Usage:
from werkzeug import DebuggedApplication, run_simple from myapplication import application application = DebuggedApplication(application, evalex=True) run_simple('localhost', 5000, application)
This code spawns a debugging server on localhost:5000 with the debugger enabled. If you set evalex to False, the debugger is disabled.
Warning
Don’t ever use the debugging middleware in a production environment since it can leak internal information that is part of the variable debug table. Even worse is a debugger with the evalex feature enabled, since it can be used to execute code on the server!