烧瓶中进度条的会话变量未更新

时间:2020-07-24 10:24:22

标签: python session flask

我将会话变量设置为“正在加载”,因此我可以使用它在for循环的每个周期中更新进度条状态。在运行循环的函数启动后,该变量将在先前的路由中创建,并会重定向到加载页面。

在此处分配变量:

@app.route('/gen', methods=['GET', 'POST'])
def gen():
    if current_user.is_authenticated:
        **fl.session['loading'] = '0'** <<<<<<<<<<<< The 'in'variable
        fl.session['modal-bool'] = False
        if fl.request.method == 'POST':......

....

convert('continue')<<<<<< The function that changes the value
return fl.redirect(fl.url_for('relat'))

重定向的路由为:

@app.route('/relat')
def relat():
    return fl.render_template('relat.html')

然后,此函数会在for循环的每次迭代中对其进行更改:

def convert(oper):
    fl.session['modal-bool'] = False
    fnames=fl.session['fnames']
    if oper == 'jump':
        fnames = newfnames(fnames)
    relat=''
    cont=0
    tot=len(fnames)

    for fname in fnames:<<< the loop
        fl.session['loading'] = str((cont+1)*100/tot)<<<<<<the new value
        fl.session.modified = True

这就是请求值的地方:

@app.route('/loading')
def loading():
    if not fl.session.get('loading') is None:
        print(fl.session['loading'])
        fl.session.modified = True
        return str(fl.session['loading'])    
    else:
        return 'none'

问题是 fl.session ['loading'] 的值仅在 convert()函数中本地更新,但仍返回'0 。 (另一方面,我已经将flask导入了flask,因为我懒于单独导入软件包,这是问题吗?)

0 个答案:

没有答案