Windows 7的
Python 2.7.3
Django 1.5
python manage.py 运行服务器
我正在学习 ' https://docs.djangoproject.com/en/1.5/intro/tutorial03/ 上的教程。 '
在事情变得奇怪之前,我已经达到了“写一个 404(找不到页面) View ”的程度。
我试图弄清楚如何制作自定义 404 View 。但是,我不确定:
A. 自定义 404.html 文件的确切位置。它应该在我的项目目录树中还是在我的 Django 目录树中。我的项目目录树看起来像这样,
1> mysite
2> - mysite
3> - polls
4> - templates
5> - polls
6> - templates
7> - admin
目前404.html是@6>
B. 必须在哪里进行哪些修改?我知道需要在“根”url conf 中设置 handler404 和 handler500。我有一个 url.py 位于 @ 2> 和 3> (见上面的树)。假设 2> 是正确的地方,我假设语法如下,
handler404 = 'templates.404'
handler500 = 'templates.500'
还有什么需要设置的,在哪里?
最佳答案
我可以看到你有一个小错误,但不要担心。
看,试试这个:
handler404 = 'mysite.views.error404'
然后在 mysite(第二个 mysite)中创建一个 views.py 如果你没有。在那个views.py中放:
from django.shortcuts import render
def error404(request):
return render(request,'404.html')
就这样!在模板中,创建该文件并做一些好事!
请记住,仅适用于生产
(DEBUG=False)
否则 django 使用回溯。505也是一样的,可以试试
handler404 = 'polls.views.see404'
然后放入views.py,但你知道,口味不同嘿嘿嘿。现在,尝试其他方法,例如:在 urls.py 中添加评论
#handler404 = 'mysite.views.error404'
并在views.py中删除def。
在您的模板文件的索引中创建一个简单的 404.html。
在生产环境中运行服务器并产生 404 错误,发生了什么?
关于http-status-code-404 - django教程: custom 404 and 500 views,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15497471/