Added DEBUG_PROPAGATE_EXCEPTIONS setting that helps testing under e.g. twill

git-svn-id: http://code.djangoproject.com/svn/django/trunk@7537 bcc190cf-cafb-0310-a4f2-bffc1f526a37
This commit is contained in:
Luke Plant 2008-05-16 23:24:36 +00:00
parent 6f76b9f58d
commit 8c9fceebb1
3 changed files with 18 additions and 1 deletions

View File

@ -11,6 +11,10 @@ gettext_noop = lambda s: s
DEBUG = False
TEMPLATE_DEBUG = False
# True if BaseHandler.get_response() should propagate raw exceptions
# rather than catching them. This is useful under some testing siutations,
# and should never be used on a live site.
DEBUG_PROPAGATE_EXCEPTIONS = False
# Whether to use the "Etag" header. This saves bandwidth but slows down performance.
USE_ETAGS = False

View File

@ -115,7 +115,10 @@ class BaseHandler(object):
# Get the exception info now, in case another exception is thrown later.
exc_info = sys.exc_info()
receivers = dispatcher.send(signal=signals.got_request_exception, request=request)
if settings.DEBUG:
if settings.DEBUG_PROPAGATE_EXCEPTIONS:
raise
elif settings.DEBUG:
from django.views import debug
return debug.technical_500_response(request, *exc_info)
else:

View File

@ -391,6 +391,16 @@ are inappropriate for public consumption. File paths, configuration options, and
the like all give attackers extra information about your server. Never deploy a
site with ``DEBUG`` turned on.
DEBUG_PROPAGATE_EXCEPTIONS
--------------------
Default: ``False``
If set to True, Django's normal exception handling of view functions
will be suppressed, and exceptions will propagate upwards. This can
be useful for some test setups, and should never be used on a live
site.
DEFAULT_CHARSET
---------------