【发布时间】:2015-09-01 12:47:49
【问题描述】:
我想创建自己的 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
--insecure 是提供静态文件(否则就是废话)。但如果我去非现有页面,我会得到:
<h1>Not Found</h1><p>The requested URL /post/9/ was not found on this server.</p>
我该如何解决这个问题? 我正在使用 Django 1.8 不知道这是否会改变任何东西
【问题讨论】:
-
您可以将自定义的 500.html/404.html 放在模板目录中,django 将使用这些模板而不是默认的 django 模板进行渲染。
-
但它不起作用
-
404.html和你base.html在同一个目录吗?否则你的模板路径不正确
-
是的,在同一个目录中
-
尝试设置 DEBUG=False 看看是否有任何改变
标签: python django http-status-code-404 production