概述
> create():’1,2,3’#OK@H_502_3@>删除(1):’2,3’#OK@H_502_3@>删除(2):’1,3’#expected’3′@H_502_3@> maintain():’1,3’#expected’1,3’或’3′
from flask import Flask,session app = Flask(__name__) @app.route('/') def create(): session['list'] = ['1','2','3'] return ",".join(session['list']) @app.route('/m') def maintain(): return ",".join(session['list']) @app.route('/r/<int:id>') def remove(id): session['list'].remove(str(id)) return ",".join(session['list']) if __name__ == '__main__': app.secret_key = "123" app.run()
这个问题在主题上类似于this question,this和this one,但是我设置了密钥而没有重新生成它,我的变量肯定不大于cookie允许的4096字节.也许我错过了一些关于Flask会话变量的基本理解?
它只会在您设置或删除密钥时注册修改.在这里,您可以修改它不会检测到的值.试试这个:
@app.route('/r/<int:id>') def remove(id): val = session['list'] val.remove(str(id)) session['list'] = val return ",".join(session['list'])
…和其他更改相同,或者您可能尝试自己设置session.modified = True而不是触发检测.
总结
以上是编程之家为你收集整理的python – Flask会话变量在请求之间不存在全部内容,希望文章能够帮你解决python – Flask会话变量在请求之间不存在所遇到的程序开发问题。
如果您也喜欢它,动动您的小指点个赞吧