程序员

python session 更新

2018-04-08  本文已影响0人  鸟它鸟

python session 更新

在使用python的session的时候,我在xsession中定义了一个字典,首次字典内的值更新会正常的存储在浏览器的cookie中,但是在修改字典中的值后,再次访问session会发现访问出来的数据是未修改之前的

翻了一些资料,原因大概如下

  1. 首先我们知道,python的session是通过secret_key加密后存储到cookie中的,所以首次设置的值会直接存储在浏览器的cookie中
@app.route('/sets')
def sets():
    session['test']=10
    return json.dumps(session['test'], ensure_ascii=False, encoding='UTF-8')

@app.route('/updates')
def updatas():
    session['test']=11
    return json.dumps(session['test'], ensure_ascii=False, encoding='UTF-8')

@app.route('/reads')
def reads():
    return json.dumps(session['test'], ensure_ascii=False, encoding='UTF-8')
@app.route('/sets')
def sets():
    session['test']={'a':1,'b':2}
    return json.dumps(session['test'], ensure_ascii=False, encoding='UTF-8')

@app.route('/updates')
def updatas():
    session['test']['c']=3
    return json.dumps(session['test'], ensure_ascii=False, encoding='UTF-8')

@app.route('/reads')
def reads():
    return json.dumps(session['test'], ensure_ascii=False, encoding='UTF-8')
@app.route('/sets')
def sets():
    session['test']={'a':1,'b':2}
    return json.dumps(session['test'], ensure_ascii=False, encoding='UTF-8')

@app.route('/updates')
def updatas():
    session['test']['c']=3
    session.modified = True
    return json.dumps(session['test'], ensure_ascii=False, encoding='UTF-8')

@app.route('/reads')
def reads():
    return json.dumps(session['test'], ensure_ascii=False, encoding='UTF-8')
上一篇 下一篇

猜你喜欢

热点阅读