Skip to content
This repository

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP

Django middleware and userscript that displays debug tracebacks on production sites (where you would have DEBUG = False) only to developers.

branch: master

Fetching latest commit…

Octocat-spinner-32-eaf2f5

Cannot retrieve the latest commit at this time

Octocat-spinner-32 docs
Octocat-spinner-32 src
Octocat-spinner-32 tests
Octocat-spinner-32 .coveragerc
Octocat-spinner-32 .gitignore
Octocat-spinner-32 .travis.yml
Octocat-spinner-32 LICENSE
Octocat-spinner-32 MANIFEST.in
Octocat-spinner-32 README.rst
Octocat-spinner-32 django-monkey-team.komodoproject
Octocat-spinner-32 setup.py
Octocat-spinner-32 tox.ini
README.rst

django-monkey-team

Build Status Coverage Status PYPI Package

This is a middleware that displays debug tracebacks on production sites (where you would have DEBUG = False) only to developers. Developers have to install a special userscript to decode the traceback data. AES-256 (CBC mode) is used to encrypt the traceback. The decode key and client key are hashes of your SECRET_KEY with salts so your SECRET_KEY is safe even if your userscript gets in the wrong place.

Google Chrome and Firefox are supported. If you want to use something else you have to find a way to install the userscript yourself.

There's also a decode page in the admin in case you get user reports with the encrypted data.

The error page and decrypt flow looks like this:

Sample error page

Installation guide

Install it:

pip install django-monkey-team

Change your Django project settings to have:

INSTALLED_APPS += (
    'monkey_team',
)
MIDDLEWARE_CLASSES += (
    'monkey_team.middleware.MonkeyTeamMiddleware',
)
DEBUG = False

Note, that if you want DEBUG = True and still have the middleware on you need to set:

MONKEY_FORCE_ACTIVE = True

Then go to django admin and install the userscript. The setup page looks like this:

Userscript install page

Requirements

OS: Any
Runtime: Python 2.6, 2.7
Packages: PyCrypto, Django>=1.3 (up to 1.6)
Something went wrong with that request. Please try again.