如果您尝试访问不存在的页面(404 错误),Django 会将您定向到处理 404 错误的内置视图。
您将在本章后面学习如何自定义此 404 视图,但首先,尝试请求一个不存在的页面。
在浏览器窗口中输入127.0.0.1:8000/masfdfg/
在地址栏中。
您将得到以下两个结果之一:
1:
2:
如果您得到第一个结果,您将被定向到内置的 Django 404 模板。
如果你得到第二个结果,那么DEBUG
被设定为True
在您的设置中,您必须将其设置为False
定向到 404 模板。
这是在settings.py
文件,位于项目文件夹中,在我们的例子中是my_tennis_club
文件夹,您还必须在其中指定项目运行的主机名:
将调试属性设置为False
,并允许项目从本地主机运行:
my_tennis_club/my_tennis_club/settings.py
:
.
.
# SECURITY WARNING: don't run with debug turned on in production!
DEBUG = False
ALLOWED_HOSTS = ['*']
.
.
重要的:当 DEBUG = False 时,Django 要求您指定允许运行此 Django 项目的主机。
在生产中,应将其替换为正确的域名:
ALLOWED_HOSTS = ['yourdomain.com']
在浏览器窗口中输入 127.0.0.1:8000/masfdfg/
在地址栏中输入,您将获得内置的 404 模板:
Django 将查找名为的文件404.html
在里面templates
文件夹,并在出现 404 错误时显示它。
如果不存在这样的文件,Django 将显示您在上面的示例中看到的 "Not Found"。
要自定义此消息,您所要做的就是在templates
文件夹并命名404.html
,并用您想要的任何内容填充它:
my_tennis_club/members/templates/404.html
:
<!DOCTYPE html>
<html>
<title>Wrong address</title>
<body>
<h1>Ooops!</h1>
<h2>I cannot find the file you requested!</h2>
</body>
</html>
在浏览器窗口中输入 127.0.0.1:8000/masfdfg/
在地址栏中输入,您将获得自定义的404模板:
截取页面反馈部分,让我们更快修复内容!也可以直接跳过填写反馈内容!