我想创建自己的 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 不知道如果这改变了什么
最佳答案
你不应该在 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/.. 中的模板被正确找到。就个人而言,我会专门将其添加为子目录。
关于python - Django 1.8 如何创建我自己的 404 页面?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/30872012/