视图

视图就是python中的函数,视图一般被定义在"应用/views.py"文件中,此例中为"booktest/views.py"文件。视图必须返回一个HttpResponse对象或子对象作为响应。响应可以是一张网页的HTML内容,一个重定向,一个404错误等。

视图的第一个参数必须为HttpRequest实例,还可能包含下参数如:

  • 通过正则表达式组获得的关键字参数。
  • 通过正则表达式组获取的位置参数。

内置错误视图

Django内置处理HTTP错误的视图,主要错误及视图包括:

  • 404错误:page not found视图
  • 500错误:server error视图

如果想看到错误视图而不是调试信息,需要修改test3/setting.py文件的DEBUG项。

DEBUG = False
ALLOWED_HOSTS = ['*', ]
404错误及视图

将请求地址进行url匹配后,没有找到匹配的正则表达式,则调用404视图,这个视图会调用404.html的模板进行渲染。视图传递变量request_path给模板,表示导致错误的URL。

1)在templates中创建404.html。

404错误及视图

2)定义代码如下:

<html>
<head>
    <title></title>
</head>
<body>
找不到了
<hr/>
{{request_path}}
</body>
</html>

3)在浏览器中输入如下网址:

http://127.0.0.1:8000/test/

4)运行效果如下图:

404错误及视图

500错误及视图

在视图中代码运行报错会发生500错误,调用内置错误视图,使用templates/500.html模板渲染。

视图处理过程如下图:

视图处理过程