我将会话变量设置为“正在加载”,因此我可以使用它在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')
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,因为我懒于单独导入软件包,这是问题吗?)