【问题标题】:HTML variable value is not changing in FlaskFlask 中的 HTML 变量值没有变化
【发布时间】:2018-04-11 00:30:21
【问题描述】:

我已经在 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,而不是从函数中获得的值。当我在if condition 中打印and 进行调试时,它显示了正确的值。

【问题讨论】:

  • 你的get_data函数是做什么的?
  • @BurhanKhalid 实际上我正在研究机器学习,它会返回预测值。

标签: python html flask


【解决方案1】:

你真的根本不需要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)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-12-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多