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. Automatically setup raw_id_fields ForeignKey & OneToOneField by agusmakmun 6 months, 2 weeks ago
  2. Crispy Form by sourabhsinha396 7 months, 1 week ago
  3. ReadOnlySelect by mkoistinen 7 months, 3 weeks ago
  4. Verify events sent to your webhook endpoints by santos22 8 months, 3 weeks ago
  5. Django Language Middleware by agusmakmun 9 months ago

Comments

Please login first before commenting.