Python笔记之Django自定义404页面

一、目标

学习Django 自定义404页面。

二、试验平台

windows7 , python3.7,Django2.1.5

三、概述

1.在项目根目录新建一个404页面,名字叫404.html (就叫这个名字别改动)

2.404.html中body中写上{{ request_path }}。以及自定义内容。

3.将settings中的DEBUG = True 改为False  (##kahn,如果为True,系统永远不会调用404错误页面)

4.将settings中的ALLOWED_HOSTS = [] 改为ALLOWED_HOSTS = ['*']

四、完整代码

1.404.html

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>404页面找不着了x</title>
</head>
<body>
<h1>Error:404,页面找不到了</h1>
<h2>{{ request_path }}</h2>
<h2>kahn 2019年4月15日14:34:56</h2>
<hr>
<p>设置Django404页面,首先得创建404页面,并且在页面中写上request_path</p>
<p>这个request__path用两个花括号包住,中间用单下划线连接</p>
<p>然后在项目的settings中,将DEBUG = False, 如果是True的话,Django永远不会去调用404页面</p>
<p>404页面名字不允许改变,必须叫404.html。而且要放到/templates根目录下,绝不能放到/templates/app下</p>
<p>(无需写路由,无需写视图,因为你打开的页面本身是不存在的,还写啥视图写啥路由啊)</p>
<p>自定义404页面就这么简单,kahn,ok,2019年4月15日16:23:53</p>
<hr>
<a>500,400页面也类似</a>
</body>
</html>

2.settings.py本例用到的代码

# DEBUG = True    ##kahn,如果为True,系统永远不会调用404错误页面
DEBUG = False

# ALLOWED_HOSTS = []
# #允许任何IP访问
ALLOWED_HOSTS = ['*']

3.Django加载模板文件夹部分(settings.py)

TEMPLATES = [
    {
        'BACKEND': 'django.template.backends.django.DjangoTemplates',
        'DIRS': [os.path.join(BASE_DIR, 'templates')],
        'APP_DIRS': True,
        'OPTIONS': {
            'context_processors': [
                'django.template.context_processors.debug',
                'django.template.context_processors.request',
                'django.contrib.auth.context_processors.auth',
                'django.contrib.messages.context_processors.messages',
            ],
        },
    },
]

五、启动Django项目测试404

kahn ok,2019年4月15日16:37:32

猜你喜欢

转载自blog.csdn.net/xoofly/article/details/89314677