Werkzeug has a pretty decent error page with in-browser debugger and some other features. In just Django project it can be easily used with django-extensions with:
./manage.py runserver_plus
But we can’t use this approach with gae, because it doesn’t use runserver, it
just works through wsgi.
So instead we should wrap our wsgi application with DebuggedApplication.
So in wsgi.py (or another file where wsgi
app defined) we need to change an app initialization to something like:
from django.core.wsgi import get_wsgi_application
from django.conf import settings
from werkzeug.debug import DebuggedApplication
application = get_wsgi_application()
if settings.DEBUG:
app = DebuggedApplication(app, True)
# Werkzeug won't work without exceptions propagation
settings.DEBUG_PROPAGATE_EXCEPTIONS = True
And that’s all.