Fixed #24143 -- Encouraged use of Http404 messages for debugging.

This commit is contained in:
Keryn Knight 2015-01-13 08:02:17 +00:00 committed by Tim Graham
parent a34fba5e59
commit 726a9550db
4 changed files with 10 additions and 5 deletions

View file

@ -313,7 +313,7 @@ This example is equivalent to::
try:
my_object = MyModel.objects.get(pk=1)
except MyModel.DoesNotExist:
raise Http404
raise Http404("No MyModel matches the given query.")
The most common use case is to pass a :class:`~django.db.models.Model`, as
shown above. However, you can also pass a
@ -383,4 +383,4 @@ This example is equivalent to::
def my_view(request):
my_objects = list(MyModel.objects.filter(published=True))
if not my_objects:
raise Http404
raise Http404("No MyModel matches the given query.")

View file

@ -119,13 +119,18 @@ Example usage::
try:
p = Poll.objects.get(pk=poll_id)
except Poll.DoesNotExist:
raise Http404
raise Http404("Poll does not exist")
return render_to_response('polls/detail.html', {'poll': p})
In order to use the ``Http404`` exception to its fullest, you should create a
template that is displayed when a 404 error is raised. This template should be
called ``404.html`` and located in the top level of your template tree.
If you provide a message when raising an ``Http404`` exception, it will appear
in the standard 404 template displayed when :setting:`DEBUG` is ``True``. Use
these messages for debugging purposes; they generally aren't suitable for use
in a production 404 template.
.. _customizing-error-views:
Customizing error views