Django 1.8如何创建自己的404页面?

时间:2015-06-16 15:31:49

标签: python django http-status-code-404 production

我想创建自己的404页面。 在settings.py中,我添加了:

DEBUG = TEMPLATE_DEBUG = False

ALLOWED_HOSTS = ['*',]

在urls.py中:

handler404 = 'blog.views.handler404'

在views.py中:

def handler404(request):
    return render(request, 'blog/404.html')

我也创建了404.html文件。

当我启动服务器时,我写道:

python manage.py runserver --insecure

- 不安全是提供静态文件(否则是无稽之谈)。但如果我去了现有页面,我会得到:

<h1>Not Found</h1><p>The requested URL /post/9/ was not found on this server.</p>

我该如何解决这个问题? 如果这改变了什么,我正在使用Django 1.8 dunno

1 个答案:

答案 0 :(得分:1)

你在urls.py中不需要任何东西。转到你的根views.py并在那里添加你的handler404方法,并保留urls.py。

参考:Django, creating a custom 500/404 error page

另外,我没有看到你的TEMPLATE_DIRS变量,即

TEMPLATE_DIRS = (
    '/path/to/template/files/',
    '/path/to/more/template/files/' 
)

需要确保正确找到../blog/ ..中的模板。我个人将其特别添加为子目录。