Flask中的HTML变量值没有变化

时间:2017-10-30 04:48:10

标签: python html flask

我已在Flask中编写此代码

ans = 999
@app.route('/', methods=['POST', 'GET'])
def home():
    flag = 0
    global ans
    session["ans"] = 0
    if (request.method == "POST"):
        jsdata = request.form['data']
        flag = 1
        session['jsdata'] = jsdata
    if (flag == 1):
        ans = get_data(session['jsdata'])
        return render_template('/index.html',ans=ans)
    return render_template('/index.html',ans=ans)

当flag的值为0时,在index.html中它显示999,但当flag的值更改为1并且if condition被执行时index.html仍然显示值999而不是值来自功能。当我在and中打印if condition进行调试时,它会显示正确的值。

1 个答案:

答案 0 :(得分:2)

你真的根本不需要flag,这让整个逻辑感到困惑:

@app.route('/',methods = ['POST','GET'])
def home():
  if request.method == "POST":
      jsdata = request.form['data']
      session['jsdata']=jsdata
      session['ans'] = get_data(session['jsdata'])

  ans = session.get('ans', 999) # try to get it from the session,
                                # if fails, set it to 999 default value

  return render_template('/index.html', ans=ans)