我想创建自己的 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/

10-12 17:01
查看更多