Django中自定义404页面和500页面
有时访问不存在的页面是时候,并且没有关闭调试模式则会暴露我们的代码
404:找不到页面,关闭调试模式之后,默认会显示一个标准的错误页面,如果要显示自定义的页面,则需要的templates目录下面自定义一个404.html文件。
- url没有配置
- url配置错误
500: 服务器端的错误。
- 视图出错
关闭调试模式,并且自定义一个404页面
1.在项目的settings.py中,改变原来的为 (关闭调试模式)
ALLOWED_HOSTS 为允许访问的url地址 ,'*' :星号代表所有
#DEBUG = True DEBUG = False #ALLOWED_HOSTS = [] ALLOWED_HOSTS = ['*']
2. 然后在项目的templates文件夹下,新建404.html
有个 request_path 参数 : 代表你输入你除了你的域名后面的路由
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>出错了</title> </head> <body> <h1>哎呀,出错了。。。。。。</h1> <h1>没有找到页面-----{{ request_path }}</h1> </body> </html>
随便输个网址,可以看到
3.如果你的视图函数里面有语法错误,
def index(request): """首页""" num = 'd' + 1 return render(request, 'booktest/index.html')
则会报如下错误Server Error (500)
则可以定义这个错误页面,在templates文件夹下,新建500.html
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>出错了</title> </head> <body> <h1>程序员又要加班了。。。。。</h1> </body> </html>
然后再次访问这个页面的时候就是自定义的页面了