Django值Cookie基础
2016-09-27 22:35
429 查看
一、什么是Cookie?
Cookies就是服务器暂时存放在你的电脑里的资料(.txt格式的文本文件),好让服务器用来辨认你的计算机。当你在浏览网站的时候,Web服务器会先送一小小资料放在你的计算机上,Cookies 会把你在网站上所打的文字或是一些选择都记录下来。当下次你再访问同一个网站,Web服务器会先看看有没有它上次留下的Cookies资料,有的话,就会依据Cookie里的内容来判断使用者,送出特定的网页内容给你简单来说就是讲用户登入信息保存在本地游览器端的一个容器或者键值对
二、什么是Seesion?
Session:在计算机中,尤其是在网络应用中,称为“会话控制”。Session 对象存储特定用户会话所需的属性及配置信息。这样,当用户在应用程序的 Web 页之间跳转时,存储在 Session 对象中的变量将不会丢失,而是在整个用户会话中一直存在下去。当用户请求来自应用程序的 Web 页时,如果该用户还没有会话,则 Web 服务器将自动创建一个 Session 对象。当会话过期或被放弃后,服务器将终止该会话简单来说seesion就是用户向服务器发送请求(以cookie方式发送),服务器在接收用户请求时,将用户信息以session方式保存在服务器端,并生成随机字符串附带给cookie返回值中,当用户再次向服务器发送请求时,随便带着服务器端生成的随机字符串,依次来核对是否是同一个用户,session依赖于cookie。
三、Cookie
1、获取Cookie://获取用户Cookie值 request.COOKIES['key'] // request.get_signed_cookie(key, default=RAISE_ERROR, salt='', max_age=None) 参数: default: 默认值 salt: 加密盐 max_age: 后台控制过期时间
2、设置Cookie:
rep = HttpResponse(...) 或 rep = render(request, ...) //设置Cookie值 rep.set_cookie(key,value,...) rep.set_signed_cookie(key,value,salt='加密盐',...) 参数: key, 键 value='', 值 max_age=None, 超时时间 expires=None, 超时时间(IE requires expires, so set it if hasn't been already.) path='/', Cookie生效的路径,/ 表示根路径,特殊的:跟路径的cookie可以被任何url的页面访问 domain=None, Cookie生效的域名 secure=False, https传输 httponly=False 只能http协议传输,无法被JavaScript获取(不是绝对,底层抓包可以获取到也可以被覆盖)
由于cookie保存在客户端的电脑上,所以,JavaScript和jquery也可以操作cookie。
<script src='/static/js/jquery.cookie.js'></script> $.cookie("list_pager_num", 30,{ path: '/' });
四、Session
Django中默认支持Session,其内部提供了5种类型的Session供开发者使用:•数据库(默认) •缓存 •文件 •缓存+数据库 •加密cookie
1、数据库Session
a. 配置 settings.py SESSION_ENGINE = 'django.contrib.sessions.backends.signed_cookies' # 引擎 b. 使用 同上
View Code
更多参考:猛击这里 和 猛击这里
扩展:Session用户验证
def login(func): def wrap(request, *args, **kwargs): # 如果未登陆,跳转到指定页面 if request.path == '/test/': return redirect('http://www.baidu.com') return func(request, *args, **kwargs) return wrap
完善中、、、
相关文章推荐
- Django基础-Cookie和session
- Django基础学习之Cookie 和 Sessions 应用
- Django基础学习之Cookie 和 Sessions 应用
- Django基础学习之Cookie 和 Sessions 应用
- ASP.NET中Cookie编程的基础知识
- ASP.NET中Cookie编程的基础知识(3)
- ASP.NET中Cookie编程的基础知识(二)
- ASP.NET中Cookie编程的基础知识(6)
- ASP.NET中Cookie编程的基础知识(2)
- Cookie使用基础
- ASP.NET中Cookie编程的基础知识
- Cookie基础篇
- ASP.NET中Cookie编程的基础知识
- ASP.NET中Cookie编程的基础知识
- ASP.NET中Cookie编程的基础知识
- ASP.NET中Cookie编程的基础知识
- ASP.NET中Cookie编程的基础知识(二) 心灵技术
- ASP.NET中Cookie编程的基础知识(1)
- 转·ASP.NET中Cookie编程的基础知识
- ASP.NET中Cookie编程的基础知识