【问题标题】:flask session overwrites another session [duplicate]烧瓶会话覆盖另一个会话[重复]
【发布时间】:2017-10-10 17:08:35
【问题描述】:

我已将用户 ID 存储到 flask 会话中。但是当另一个用户打开浏览器并设置会话用户 ID 时。我当前的会话用户 ID 更改。可能吗。我还使用了一个global class variable,它从下面的会话中启动。因此,当多个用户使用该 url 时,所有过程都会变得混乱。我正在使用 nohup 运行 python 烧瓶

login
@app.route('/mainlogin',methods = ['GET','POST'])
def login():
    try:
        if request.method =='POST':
            session['uid'] = request.form['db_user']

main
@app.route('/main',methods = ['GET','POST'])
def mainindex():
    global clsmain
    uid=session.get('uid')
    clsmain=clsmain(uid)

@app.route('/viewlog',methods = ['GET','POST'])
def viewlog():
     return render_template('log.html',status="<br>" + clsmain.readlog())

为什么会覆盖会话。还是全局变量在会话中充当相同的值?

【问题讨论】:

  • 不知道 clsmain 是什么我不能说,但它的某些东西让我闻起来很腥。
  • 为什么要使用全局变量?
  • @sberry clsmain 是一个具有通用变量和函数的类。
  • @BrenBarn 全局变量用于访问另一个页面中的 clsmain 对象
  • 不要为此使用全局变量。使用会话变量或类似的东西。

标签: python session flask


【解决方案1】:

问题不在于烧瓶会话,而在于 global 变量。全局变量在会话中保持相同的值(或者烧瓶不处理基于会话的全局变量)。从此链接找到参考 https://stackoverflow.com/questions/25273989/flask-global-variables-and-sessions

【讨论】:

  • 你的链接失效了。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2018-08-18
  • 1970-01-01
  • 2021-11-23
  • 2015-12-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多