Certain django exceptions have associated status codes. For example:
SuspiciousOperation
exception returns a 400 if it is raised.PermissionDenied
exception returns a 403 if it is raised.Http404
exception returns a 404 status if it is raised.Where can I find a comprehensive list of this? It is lacking on https://docs.djangoproject.com/en/1.7/ref/exceptions/
Here are the exception handlers: https://github.com/django/django/blob/1.7/django/core/handlers/base.py#L139. As you can see there are only 3 "named" exceptions catched there (I'm not counting SystemExit
), everything else is handled by handle_uncaught_exception and results in the 500 error.