from flask import Flaskapp = Flask(__name__)
一.cookiefrom flask import Flask,make_response,request@app.route('/')def hello(): response = make_response('ok') #先要创建一个response对象 response.set_cookie('key','value') #用set_cookie设置cookies cookies = request.cookies #获取所有cookies且以字典的形式的返回 cookies_key = request.cookies['key'] #因为返回是cookies的字典对象所以我们可以用字典取值取出指定的cookie return response
二.session用之前必须先设置秘钥app.secret_key="asdas" #值随便
from flask import Flask,request,sessionapp.config['SESSION_cookie_name']="session_key" #这是配置网页中sessions显示的key@app.route('/')def hello(): session['username'] = 'xxx' #设置 #session本身就是个字典相当于把一个username:xxx键值对丢进去,然后Flask会把整个字典结合secret_key进行加密 #1.生成一个随机的字符串 #2 往数据库存 #3 写入cookie返回浏览器 sessions = session #获取所有session session_username =session['username'] #获取指定session session.pop('username') #删除session原理和字典的删除方式一样 return 'ok'
设置cookie的参数key,键value='',值max_age=None,超时时间 cookie需要延续的时间(以秒为单位)如果参数是\ None`` ,这个cookie会延续到浏览器关闭为止expires=None,超时时间(IE requires expires,so set it if hasn't been already.)path='/',cookie生效的路径,/ 表示根路径,特殊的:根路径的cookie可以被任何url的页面访问,浏览器只会把cookie回传给带有该路径的页面,这样可以避免将cookie传给站点中的其他的应用。domain=None,cookie生效的域名 你可用这个参数来构造一个跨站cookie。如, domain=".example.com"所构造的cookie对下面这些站点都是可读的:www.example.com 、 www2.example.com 和an.other.sub.domain.example.com 。如果该参数设置为 None ,cookie只能由设置它的站点读取secure=False,浏览器将通过httpS来回传cookiehttponly=False 只能http协议传输,无法被JavaScript获取(不是绝对,底层抓包可以获取到也可以被覆盖)
这些参数全都再app.config中进行设置
'SESSION_cookie_name': 'session','SESSION_cookie_DOMAIN': None,'SESSION_cookie_PATH': None,'SESSION_cookie_httpONLY': True,'SESSION_cookie_SECURE': False,'SESSION_REFRESH_EACH_REQUEST': True,
详细可以参照:https://www.cnblogs.com/pythonywy/p/11594420.html
总结以上是内存溢出为你收集整理的Flask中的cookie和session全部内容,希望文章能够帮你解决Flask中的cookie和session所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)