当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Python Django Http404用法及代码示例


本文介绍 django.http.Http404 的用法。

声明

class django.http.Http404

当您返回诸如 HttpResponseNotFound 之类的错误时,您有责任定义生成的错误页面的 HTML:

return HttpResponseNotFound('<h1>Page not found</h1>')

为方便起见,并且因为在您的站点上拥有一致的 404 错误页面是一个好主意,Django 提供了 Http404 异常。如果您在视图函数中的任何位置引发Http404,Django 将捕获它并为您的应用程序返回标准错误页面,以及 HTTP 错误代码 404。

示例用法:

from django.http import Http404
from django.shortcuts import render
from polls.models import Poll

def detail(request, poll_id):
    try:
        p = Poll.objects.get(pk=poll_id)
    except Poll.DoesNotExist:
        raise Http404("Poll does not exist")
    return render(request, 'polls/detail.html', {'poll': p})

为了在 Django 返回 404 时显示自定义 HTML,您可以创建一个名为 404.html 的 HTML 模板并将其放在模板树的顶层。当 DEBUG 设置为 False 时,将提供此模板。

DEBUG True 时,您可以向 Http404 提供消息,它将出现在标准的 404 调试模板中。将这些消息用于调试目的;它们通常不适合在生产 404 模板中使用。

相关用法


注:本文由纯净天空筛选整理自djangoproject.com大神的英文原创作品 django.http.Http404。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。