码迷,mamicode.com
首页 > 编程语言 > 详细

doraemon的python cookie和session(国庆大更新)

时间:2019-10-09 00:09:18      阅读:119      评论:0      收藏:0      [点我收藏+]

标签:配置   ESS   settings   out   key   code   bsp   之间   signed   

### 11.10   cookie和session

#### 11.10.1  cookie

定义:保存在浏览器本地上的一组组键值对

为什么有cookie?

- http协议是无状态的,每次http请求都是对立的,相互之间没有关联,yongcoolie保存状态

特点:

1. 由服务器让浏览器进行设置的
2. 浏览器保存在浏览器本地
3. 下次访问的时候自动携带
4. 应用场景:登录、保存浏览器习惯、简单的投票

django中操作cookie

设置:

```python
ret = redirect(index)
ret.set_cookie(key,value,max_age=1000,path=/)  #没有加盐的
ret.set_signed_cookie(is_login,1,liujia)  #加盐
```

获取

```python
request.COOKIES.get()
request.COOKIES[]
request.COOKIES{}   #未加盐的获取方式
is_login = request.get_signed_cookie(is_login,salt=liujia,default=‘‘)#加盐的获取方式
```

删除

```python
ret = redirect(/login/)
ret.delte_cookie(is_login)
```

#### 11.10.2  session

定义:保存在服务器上的一组组键值对(必须依赖cookie)

为什么要有session

- cookie保存在浏览器本地,不安全
- 大小个数受到限制

django中操作session

```python
request.session[key]=value

#获取
request.session[key]   request.session.get(key)

#查看session的全部配置
from django.conf import global_settings


#将所有session失效日子小于当前日期的数据删除
request.session.clear_expired()

#检查回话session的key在数据库中书否存在
request.sessin.exists(session_key)

#删除当前会话的所有session数据  删除session的数据 不删除cookie
request.session.delete()

#删除当前的会话数据并删除会话的cookie   删除session的数据 删除cookie
request.session.flush()
    这用于确保前面的绘画数据不可以再次被用户的浏览器访问
    例如:django.contrib.auth.logout() 函数中就会调用它
    
#设置会话数据和cookie的超时时间
request.sessiont_exirpy(value)



```

### 

 

doraemon的python cookie和session(国庆大更新)

标签:配置   ESS   settings   out   key   code   bsp   之间   signed   

原文地址:https://www.cnblogs.com/doraemon548542/p/11638555.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!