2015-09-10 130 views
1

Normaly Django中查找一个URL中url.py文件... 如果它发现它加载培训相​​关的HTML网页,如果没有找到它显示: Page not found (404)与味精:如何将django链接到我自己的404错误页面?

你看到这个错误,因为你的Django 设置文件中有DEBUG = True。将其更改为False,并且Django将显示一个 标准404页面。

我想更改django显示的标准404 page。我有一个我创建的HTML页面PageNotFound.html我希望Django每次出现Page not found (404)时显示DEBUG = False。我怎么做?

回答

2

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

https://docs.djangoproject.com/en/dev/topics/http/views/#the-404-page-not-found-view

此外,还有一个有用部分 “定制错误视图”。

而如果您想在测试模板时转动DEBUG = False,则可以运行manage.py runserver --insecure。 即使DEBUG设置为False,它也会强制Django使用staticfiles应用程序提供静态文件。但请注意,它仅用于本地开发,可能不安全。你可以阅读更多关于这个选项here

0

下面是来自Django的文档报价:

这个模板应该叫404.html,位于模板树的顶层。

查看全文here;对于非1.8文件,它应该在这里的某个地方:写入视图>返回错误> Http404异常

0

您应该创建以下观点:

def custom404(request): 
    return render(request, '404.html', status=404) 

而且它具有以下建设urls.py连接:

handler404 = 'path.to.views.custom404'