我想创建自己的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 dunno
解决方法:
你不应该在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/ ..中的模板.我个人特意将其添加为子目录.