总结:
django session存储在服务端,客服端只有session_id。
无需关心session和session_id怎么对应,只需关心自己存储的标识 username age
不过请求中还是得带上session_id,django根据session_id拿到session_data放到session对象中,供你在这个请求中获取
request.session['username']
"""设置session信息"""
request.session['username'] = 'smart'
request.session['age'] = 18
"""获取session信息"""
username = request.session['username']
age = request.session['age']
语法比较,设置cookie都必须建立在response或其子类的基础上.
flask
cookie设置
-
from flask import Flask, make_response
-
# 创建response对象
-
response = make_response('index')
-
# 使用response对象写入cookie到浏览器,会话结束就过期
-
response.set_cookie('name','zxc')
-
# 设置过期时间,单位是秒
-
response.set_cookie('age', '18', max_age=3600)
-
# 删除cookie
-
response.delete_cookie('name')
session设置
在flask中必须配置密钥参数,因为要对sessionid加密. django中则不用,在settings中已经配置好了.
-
from flask import Flask, session
-
# 配置秘钥参数
-
app.config['SECRET_KEY'] = 'n%lq5-oyhv0not14+xv4m=q-@^kt1ptzst5)w$1@o*)=ose&nv'
-
# 设置session
-
session.permanent = True
-
session['name'] = 'zxc'
-
# 读取session
-
name = session['name']
-
# 删除session
-
session.pop('name')
django
cookie
-
"""设置cookie信息"""
-
response = HttpResponse('设置cookie信息')
-
# 设置cookie信息, 'name':'smart' 'age':18
-
# response.set_cookie('name', 'smart')
-
# response.set_cookie('age', 18)
-
# 设置cookie信息, 'name':'smart' 'age':18, 并且设置过期时间为1周
-
response.set_cookie('name', 'smart', max_age=7*24*3600)
-
response.set_cookie('age', 18, max_age=7*24*3600)
-
"""获取cookie信息"""
-
# 获取cookie name和age
-
name = request.COOKIES['name']
-
age = request.COOKIES['age']
-
response.delete_cookie('username')
-
return HttpResponse('读取cookie信息:%s %s' % (name, age))
session
-
"""设置session信息"""
-
# 设置session username:smart age:18
-
request.session['username'] = 'smart'
-
request.session['age'] = 18
-
# 设置session 60秒之后过期
-
request.session.set_expiry(60)
-
"""获取session信息"""
-
username = request.session['username']
-
age = request.session['age']
清除session的几种方式
出处:https://blog.csdn.net/jishuzhai_1208/article/details/79688381