Login

Super User Conditional Page Exception Reporting

Author:
zbyte64
Posted:
July 31, 2008
Language:
Python
Version:
.96
Tags:
middleware debug exception
Score:
27 (after 27 ratings)

Step 1 Save somewhere in your project directory

Step 2 Add to your settings.py

MIDDLEWARE_CLASSES = (
  'django.middleware.common.CommonMiddleware',
  'django.contrib.sessions.middleware.SessionMiddleware',
  'django.contrib.auth.middleware.AuthenticationMiddleware',
  'django.middleware.doc.XViewMiddleware',
  'utils.debug.UserBasedExceptionMiddleware',
)

Normal users will get your 500.html when debug = False, but If you are logged in as a super user then you get to see the stack trace in all its glory.

1
2
3
4
5
6
7
from django.views.debug import technical_500_response
import sys

class UserBasedExceptionMiddleware(object):
    def process_exception(self, request, exception):
        if request.user.is_superuser:
            return technical_500_response(request, *sys.exc_info())

More like this

  1. SSL Redirect Middleware by zbyte64 6 years, 7 months ago
  2. Technical 500 by group membership by jdunck 5 years, 5 months ago
  3. Optimistic locking in Admin by Taifu 3 years, 6 months ago
  4. Little middleware that create a facebook user by marinho 7 years, 2 months ago
  5. Simple Exception Response for AJAX debugging by newmaniese 6 years, 11 months ago

Comments

Please login first before commenting.