mirror of
				https://github.com/django/django.git
				synced 2025-10-31 09:41:08 +00:00 
			
		
		
		
	Fixed #24143 -- Encouraged use of Http404 messages for debugging.
This commit is contained in:
		| @@ -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 | ||||
|   | ||||
| @@ -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/ | ||||
|   | ||||
| @@ -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.") | ||||
|   | ||||
| @@ -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 | ||||
|   | ||||
		Reference in New Issue
	
	Block a user