Inconsistency in the default views
|Reported by:||aaugustin||Owned by:||nobody|
|Cc:||Triage Stage:||Ready for checkin|
|Has patch:||yes||Needs documentation:||no|
|Needs tests:||no||Patch needs improvement:||no|
django.views.defaults.permission_denied will respond <h1>403 Forbidden</h1> if no 403.html template is found. This behavior was introduced to provide backwards compatibility. Generally speaking, it is a reasonable fallback.
I believe that page_not_found and server_error could benefit from a similar fallback.
That would prevent 404s from turning into 500s when there's no 404.html template. I know we want to encourage custom error pages, but in case a developer skips them, a bare <h1>404 Not Found</h1> is less damaging than a 500 with a backtrace or no content at all.