Django笔记(二)
一、 视图
-
视图的功能
接收请求,进行处理,与M和T进行交互,返回应答。
返回html内容 HttpResponse,也可能重定向redirect,还可以返回json数据。
-
视图函数使用
2.1 使用
-
定义视图函数
request参数必须有。是一个HttpRequest类型的对象。参数名可以变化,但不要更改。
-
配置url
建立url和视图函数之间的对应关系。
2.2 url配置的过程
-
在项目的urls文件中包含具体应用的urls文件,在具体应用的urls文件中包含具体url和视图的对应关系。
-
url配置项是定义在一个名叫urlpatterns的列表中,其中的每一个元素就是一个配置项,每一个配置项都调用url函数。
-
-
url匹配的过程
url:http://127.0.0.1:8000/aindex?a=1
1) 去除域名和后面的参数,剩下/aindex,再把前面的/去掉,剩下aindex
2) 拿aindex先到项目的url.py文件中进行从上到下的匹配,匹配成功之后执行后面对应的处理动作,就是把匹配成功的部分a字符去除,然后拿剩下的部分index到应用的urls.py文件中再进行从上到下的匹配。
3) 如果匹配成功则调用相应的视图产生内容返回给客户端。如果匹配失败则产生404错误。
-
错误视图
404:找不到页面,关闭调试模式之后,默认会显示一个标准的错误页面,如果要显示自定义的页面,则需要的templates目录下面自定义一个404.html文件。
a) url没有配置
b) url配置错误
500: 服务器端的错误。
a) 视图出错
网站开发完成需要关闭调试模式,在settings.py文件中:
DEBUG=False
ALLOWED_HOST=[ ‘*’]
-
捕获url参数
进行url匹配时,把所需要的捕获的部分设置成一个正则表达式组,这样django框架就会自动把匹配成功后相应组的内容作为参数传递给视图函数。
- 位置参数
位置参数,参数名可以随意指定
-
关键字参数:在位置参数的基础上给正则表达式组命名即可。
?P<组名>
-
关键字参数,视图中参数名必须和正则表达式组名一致.
-
普通登录案例
-
显示出登录页面
a) 设计url,通过浏览器访问 http://127.0.0.1:8000/login 时显示登录页面。
b) 设计url对应的视图函数login。
c) 编写模板文件login.html。
-