Django框架(11)_视图:功能、函数使用、url匹配过程、cookie、session

视图的功能

接收请求,进行处理,与M和T进行交互,返回应答

返回html内容 HttpResponse,也可能重定向 redirect,还可能是JsonResponse

视图函数使用

1.定义视图函数

        request参数必须有。是一个HttpRequest类型的对象。参数名可以变化,但不要更改。

2.配置url

        建立url和视图函数之间的对应关系。

url配置的过程

  1. 在项目的urls文件中包含具体应用的urls文件,在具体应用的urls文件中包含具体url和视图的对应关系。
  2. url配置项是定义在一个名叫urlpatterns的列表中,其中的每一个元素就是一个配置项,每一个配置项都调用url函数。

url函数有两种语法格式

a) url('正则表达式', include('应用的urls文件'))

b) url('正则表达式',视图函数名)。

url:http://127.0.0.1:8000/aindex/?a=3

1)去除域名和后面的参数,剩下/aindex/,再把前面的/去掉,剩下aindex/

2) 拿index/先到项目的url.py文件中进行从上到下的匹配,匹配成功之后执行后面对应的处理动作,就是把匹配成功的部分a字符去除,然后拿剩下的部分index到应用的urls.py文件中再进行从上到下的匹配。

3)如果匹配成功则调用相应的视图产生内容返回给客户端。如果匹配失败则产生404错误。

错误视图

404:找不到页面,关闭调试模式之后,默认会显示一个标准的错误页面,如果要显示自定的页面,则需要的templates目录下面自定义一个404.html文件。

出现这个错误:

  1. url没有配置。
  2. url配置错误。

500: 服务器端的错误。

网站开发完成需要关闭调试模式,在settings.py文件中:

DEBUG=False

ALLOWED_HOST=[ '*']

  1. 视图函数中发生错误。

捕获url参数

        进行url匹配时,把所需要的捕获的部分设置成一个正则表达式组,这样django框架就会自动把匹配成功后相应组的内容作为参数传递给视图函数。

1.位置参数

        位置参数,参数名可以随意指定

2.关键字参数:在位置参数的基础上给正则表达式组命名即可

?P<组名>

关键字参数,视图中参数名必须和正则表达式组名一致.

登录

普通登录

Ajax登录

异步的javascript.

在不全部加载某一个页面部的情况下,对页面进行局的刷新。

图片,css文件,js文件都是静态文件。

Ajax请求最主要的两点:

  1. 分析出ajax请求时需要携带参数。
  2. 分析出对应的视图函数处理完成之后,返回的json的数据格式。

  1. 发起ajax请求:jquery发起
  2. 执行相应的视图函数,返回json内容
  3. 执行相应的回调函数。通过判断json内容,如果登录成功,则跳转到成功页面。如果不成功,则对登录也进行局部刷新。

状态保持:Cookie和Session

http协议是无状态的。下一次去访问一个页面时并不知道上一次对这个页面做了什么。

Cookie

 

cookie是由服务器生成,存储在浏览器端的一小段文本信息。

Cookie的特点:

  1. 以键值对方式进行存储。
  2. 通过浏览器访问一个网站时,会将浏览器存储的跟网站相关的所有cookie信息发送给该网站的服务器。request.COOKIES
  3. cookie是基于域名安全的。www.baidu.com www.tudou.com
  4. Cookie是有过期时间的,如果不指定,默认关闭浏览器之后cookie就会过期。

Session

session存储在服务器端。

session的特点:

1)session是以键值对进行存储的。

2)session依赖于cookie。唯一标识码存放的sessionid这个cookie中。

3)session也是有过期时间,如果不指定,默认sessionid两周就会过期。

cookie和session的应用场景:

cookie:记住用户名。安全性要求不高。

session:涉及到安全性要求比较高的数据。银行卡账户,密码

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

轨迹|

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值