作者:嫣嫣细语dingdingjq | 来源:互联网 | 2023-06-05 20:58
Cookie1.下定义:保存在浏览器端的键值对2.用处:1.登录2.记住密码7天免登录3.用户浏览习惯(每页显示10条)4.
COOKIE1. 下定义:保存在浏览器端的键值对2. 用处:1. 登录2. 记住密码/7天免登录3. 用户浏览习惯(每页显示10条)4. 简单的投票限制3. Django操作COOKIE1. 设置COOKIEreq = HttpResponse("OK")req.set_COOKIE("key", "value")# 设置加盐的COOKIEreq.set_signed_COOKIE("key", "value", salt="shanghais1hao", max_age=秒)2. 获取COOKIErequest.COOKIES --> 大字典request.COOKIES["key"]request.COOKIES.get("key", "")# 获取加盐的COOKIErequest.get_signed_COOKIE("key", default="", salt="shanghais1hao")3. 删除Coookiereq.delete_COOKIE("key")
Session1. 下定义:保存在服务端的键值对,依赖于COOKIE2. 用处:1. 登录2. 保存手机验证码/验证码3. 保存购物车数据...3. Django操作Session1. 设置Session1. request.session["key"] = "value"2. request.session.set_expiry(秒/日期对象/时间间隔对象/0/None)3. request.session.setdefault("k1", "v1")2. 获取Session数据1. request.session.get("k1", "")2. request.session["k1"]3. request.session.keys()4. request.session.values()5. request.session.items()6. request.session.iterkeys()7. request.session.itervalues()8. request.session.iteritems()3. 删除Session1. request.session.flush()多用于注销2. request.session.delete()4. 手动清除早已经过期的session数据request.session.clear_expired()5. 相关配置项(写在settings.py中的)1.每次请求都更新Session失效时间SESSION_SAVE_EVERY_REQUEST = True 2. SESSION_COOKIE_AGE = 1209600 # 设置COOKIE超时时间3. SESSION_COOKIE_NAME = "sessionid" # Session的COOKIE保存在浏览器上时的key4. 其他:SESSION_COOKIE_PATH = "/" # Session的COOKIE保存的路径(默认)SESSION_COOKIE_DOMAIN = None # Session的COOKIE保存的域名(默认)SESSION_COOKIE_SECURE = False # 是否Https传输COOKIE(默认)SESSION_COOKIE_HTTPONLY = True # 是否Session的COOKIE只支持http传输(默认)