Промежуточное программное обеспечение может быть решением:
class MyExceptionMiddleware:
def process_exception(self, request, exception):
if isinstance(exception, CustomException):
template = loader.get_template('Other500.html')
context = RequestContext(request, {'message': 'Custom Message'})
return HttpResponseForbidden(template.render(context))
return None
Не забудьте зарегистрировать промежуточное ПО в settings.py:
MIDDLEWARE_CLASSES = (
....
'app.middleware.MyExceptionMiddleware',