Commit 726a9550 authored by Keryn Knight's avatar Keryn Knight Committed by Tim Graham
Browse files

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

parent a34fba5e
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -442,7 +442,7 @@ for a given poll. Here's the view:
        try:
            question = Question.objects.get(pk=question_id)
        except Question.DoesNotExist:
            raise Http404
            raise Http404("Question does not exist")
        return render(request, 'polls/detail.html', {'question': question})

The new concept here: The view raises the :exc:`~django.http.Http404` exception
+1 −1
Original line number Diff line number Diff line
@@ -88,7 +88,7 @@ This accomplishes several things quite nicely:
          try:
              a = Article.objects.get(id=article_id, sites__id=get_current_site(request).id)
          except Article.DoesNotExist:
              raise Http404
              raise Http404("Article does not exist on this site")
          # ...

.. _ljworld.com: http://www.ljworld.com/
+2 −2
Original line number Diff line number Diff line
@@ -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.")
+6 −1
Original line number Diff line number Diff line
@@ -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