Cookie
1.获取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, ...) 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: '/' });
aaarticlea/png;base64,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" alt="" />
Session
Django默认关闭时区支持,如欲开启时区支持,则需在settings中设置USE_TZ = True 否则设置为False
坑爹的设置
Django中默认支持Session,其内部提供了5种类型的Session供开发者使用:
- 数据库(默认)
- 缓存
- 文件
- 缓存+数据库
- 加密cookie
1、数据库Session
Django默认支持Session,并且默认是将Session数据存储在数据库中,即:django_session 表中。 a. 配置 settings.py SESSION_ENGINE = 'django.contrib.sessions.backends.db' # 引擎(默认) SESSION_COOKIE_NAME = "sessionid" # Session的cookie保存在浏览器上时的key,即:sessionid=随机字符串(默认)
SESSION_COOKIE_PATH = "/" # Session的cookie保存的路径(默认)
SESSION_COOKIE_DOMAIN = None # Session的cookie保存的域名(默认)
SESSION_COOKIE_SECURE = False # 是否Https传输cookie(默认)
SESSION_COOKIE_HTTPONLY = True # 是否Session的cookie只支持http传输(默认)
SESSION_COOKIE_AGE = 1209600 # Session的cookie失效日期(2周)(默认)
SESSION_EXPIRE_AT_BROWSER_CLOSE = False # 是否关闭浏览器使得Session过期(默认)
SESSION_SAVE_EVERY_REQUEST = False # 是否每次请求都保存Session,默认修改之后才保存(默认) b. 使用 def index(request):
# 获取、设置、删除Session中数据
request.session['k1']
request.session.get('k1',None)
request.session['k1'] = 123
request.session.setdefault('k1',123) # 存在则不设置
del request.session['k1'] # 所有 键、值、键值对
request.session.keys()
request.session.values()
request.session.items()
request.session.iterkeys()
request.session.itervalues()
request.session.iteritems() request.session.get("user") ----一个让我寻找两个小时的方法 # 用户session的随机字符串
request.session.session_key # 将所有Session失效日期小于当前日期的数据删除
request.session.clear_expired() # 检查 用户session的随机字符串 在数据库中是否
request.session.exists("session_key") # 删除当前用户的所有Session数据
request.session.delete("session_key") ...
2、缓存Session
a. 配置 settings.py SESSION_ENGINE = 'django.contrib.sessions.backends.cache' # 引擎
SESSION_CACHE_ALIAS = 'default' # 使用的缓存别名(默认内存缓存,也可以是memcache),此处别名依赖缓存的设置 SESSION_COOKIE_NAME = "sessionid" # Session的cookie保存在浏览器上时的key,即:sessionid=随机字符串
SESSION_COOKIE_PATH = "/" # Session的cookie保存的路径
SESSION_COOKIE_DOMAIN = None # Session的cookie保存的域名
SESSION_COOKIE_SECURE = False # 是否Https传输cookie
SESSION_COOKIE_HTTPONLY = True # 是否Session的cookie只支持http传输
SESSION_COOKIE_AGE = 1209600 # Session的cookie失效日期(2周)
SESSION_EXPIRE_AT_BROWSER_CLOSE = False # 是否关闭浏览器使得Session过期
SESSION_SAVE_EVERY_REQUEST = False # 是否每次请求都保存Session,默认修改之后才保存 b. 使用 同上
3、文件Session
a. 配置 settings.py SESSION_ENGINE = 'django.contrib.sessions.backends.file' # 引擎
SESSION_FILE_PATH = None # 缓存文件路径,如果为None,则使用tempfile模块获取一个临时地址tempfile.gettempdir() # 如:/var/folders/d3/j9tj0gz93dg06bmwxmhh6_xm0000gn/T SESSION_COOKIE_NAME = "sessionid" # Session的cookie保存在浏览器上时的key,即:sessionid=随机字符串
SESSION_COOKIE_PATH = "/" # Session的cookie保存的路径
SESSION_COOKIE_DOMAIN = None # Session的cookie保存的域名
SESSION_COOKIE_SECURE = False # 是否Https传输cookie
SESSION_COOKIE_HTTPONLY = True # 是否Session的cookie只支持http传输
SESSION_COOKIE_AGE = 1209600 # Session的cookie失效日期(2周)
SESSION_EXPIRE_AT_BROWSER_CLOSE = False # 是否关闭浏览器使得Session过期
SESSION_SAVE_EVERY_REQUEST = False # 是否每次请求都保存Session,默认修改之后才保存 b. 使用 同上
在工程的settings里设置如下: CACHES = {
'default': {
#定义已文件的方式进行cache
'BACKEND': 'django.core.cache.backends.filebased.FileBasedCache',
#cachebak文件的存放路径 正常来说都是cache 但是我的工程名字用了cache
#所以用了cachebak
'LOCATION': os.path.join(BASE_DIR, 'cachebak'),
#超时时间为600妙
'TIMEOUT': ,
'OPTIONS': {
'MAX_ENTRIES':
}
}
}
aaarticlea/png;base64,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" alt="" />
aaarticlea/png;base64,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" alt="" />
aaarticlea/png;base64,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" alt="" />
4、缓存+数据库Session
数据库用于做持久化,缓存用于提高效率 a. 配置 settings.py SESSION_ENGINE = 'django.contrib.sessions.backends.cached_db' # 引擎 b. 使用 同上
5、加密cookie Session
a. 配置 settings.py SESSION_ENGINE = 'django.contrib.sessions.backends.signed_cookies' # 引擎 b. 使用 同上
aaarticlea/png;base64,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" alt="" />
扩展: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、Session、CSRF、Admin
Django之Cookie.Session.CSRF.Admin Cookie 1.获取Cookie: 1 2 3 4 5 6 request.COOKIES['key'] request.get ...
-
[py][mx]django的cookie和session操作-7天免登录
浏览器同源策略(same-origin policy) csrf攻击防御核心点总结 django的cookie和session操作-7天免登录 flask操作cookie&django的see ...
-
Django基础cookie和session
Django基础cookie和session 1.会话跟踪 什么是会话!可以把会话理解为客户端与服务器之间的一次会晤,在一次会晤中可能会包含多次请求和响应.例如给10086打个电话,你就是客户端, ...
-
django的cookie和session以及内置信号、缓存
cookie和session cookie和session的作用: cookie和session都记录了客户端的某种状态,用来跟踪用户访问网站的整个回话.两者最大的区别是cookie的信息是存放在浏览 ...
-
Django组件-cookie与session
一.会话跟踪技术 1.什么是会话跟踪技术 我们需要先了解一下什么是会话!可以把会话理解为客户端与服务器之间的一次会晤,在一次会晤中可能会包含多次请求和响应.例如你给10086打个电话,你就是客户端,而 ...
-
web框架开发-Django组件cookie与session
http协议的每一次都是无保存状态的请求,这会带来很多的不方便,比如,一刷新网页,或者进入该网页的其他页面,无法保存之前的登录状态.为了解决类似这样的问题,引入了会话跟踪 会话跟踪技术 1 什么是会话 ...
-
Django 之 cookie和session
一. Cookie 1.Cookie的由来 因为HTTP协议是无状态的,无状态的意思就是每次请求都是独立的,它的执行情况和结果与前面的请求和之后的请求都无直接关系,也不会受前后请求响应情况直接影响.简 ...
-
django之COOKIE 与 SESSION
COOKIE 与 SESSION 概念 cookie不属于http协议范围,由于http协议无法保持状态,但实际情况,我们却又需要“保持状态”,因此cookie就是在这样一个场景下诞生. cookie ...
-
9.Django组件-cookie和session
HTTP协议的无保存状态,对两次请求没有任何关联.每次请求都是相互独立的. 1.cookie简介 什么是会话跟踪技术我们需要先了解一下什么是会话!可以把会话理解为客户端与服务器之间的一次会晤,在一次会 ...
随机推荐
-
QuickHit游戏
一 项目需求 根据输入速率和正确率将玩家分为不同级别,级别越高,一次显示的字符数越多,玩家正确输入一次的得分也越高.如果玩家在规定时间内完成规定次数的输入,正确率达到规定要求,则玩家升级(为了简单起见 ...
-
Spring MVC 学习笔记 data binding
最近在实验Spring的时候遇到了一个问题: SEVERE: Servlet.service() for servlet [DispatcherServlet] in context with ...
-
List<;object>;排序 z
一般我們在撰寫程式時,很常會使用到List<>來裝取自定義的類別陣列,跟一般的陣列插在哪呢?!好處是什麼?!好處就是一般的陣列需要先 宣告長度,而List<>不用,所以在資料個 ...
-
搭建MHA环境【2】安装mysql-5.6 + mysql复制
本例中mysql的安装方式选用了二进制包安装方案.mysql复制用半同步复制方案 [1]安装mysql-5.6.31 要在所有的数据节点上都安装上mysql,安装方式大致相同,所以我这里就不重复写多次 ...
-
【转】android4.1.2 CTS测试总结
原文网址:http://blog.csdn.net/bboyliaoye/article/details/17299259 公司客户的产品要过google GMS认证,首先要过的就是兼容性测试(CTS ...
-
Windows,Linux换行知识
换行符在写文件的时候用得上 Linux: "\n"Windows: "\r\n" 注意:换行符一定要加上双引号,单引号是没有用的.
-
CCIE路由实验(8) -- QoS
1.查看端口缺省的队列机制2.配置CB-WFQ3.配置CB-LLQ4.配置CB-Shapping在以太接口下5.配置CB-Shapping在FR接口下6.配置帧中继流量整形FRTS7.配置CB-Pol ...
-
从源码看Android中sqlite是怎么读DB的(转)
执行query 执行SQLiteDatabase类中query系列函数时,只会构造查询信息,不会执行查询. (query的源码追踪路径) 执行move(里面的fillwindow是真正打开文件句柄并分 ...
-
【LeetCode】220. Contains Duplicate III
题目: Given an array of integers, find out whether there are two distinct indices i and j in the array ...
-
Java在已存在的pdf文件中生成文字和图片--基础
自我总结,有什么不足之处请告知,感激不尽!下一次总结pdf模板映射生成报表(应对多变的pdf报表需求,数据提供和报表生成解耦). 目的:在给定的pdf模板上生成报表,就需要知道最基本的操作:文字添加, ...