You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Flask新手问题:request.form取值后模板为何显示{resulte}而非输入值?

Flask表单提交后无法正确显示用户输入的问题解决

问题现象

提交表单后,/result页面直接显示{resulte},无法展示用户在Name输入框中填写的内容。

错误原因

Flask默认使用Jinja2模板引擎,模板中渲染变量的正确语法是双大括号{{ 变量名 }},你当前使用单大括号包裹变量,导致模板引擎未解析变量,直接输出了原始字符串。

修正步骤

  • 修改结果页面resultperso.html中的变量渲染语法,将单大括号改为双大括号
  • 可选优化:表单页面的action属性使用相对路径/result,避免硬编码主机地址,提升代码可移植性

修正后的代码

Python Flask代码(无需修改)

from flask import Flask, render_template, request
app=Flask(__name__)

@app.route('/')
def student():
    return render_template('testperso.html')

@app.route('/result', methods=['POST','GET'])
def result():
    if request.method=='POST':
        result=request.form['Name']
        return render_template('resultperso.html',resulte=result)
    
if __name__=="__main__":
    app.run(debug=True)

优化后的表单页面(testperso.html)

<html>
   <body>
      <form action = "/result" method = "POST">
         <p>Name <input type = "text" name = "Name" /></p>
         <p>Physics <input type = "text" name = "Physics" /></p>
         <p><input type = "submit" value = "submit" /></p>
      </form>
   </body>
</html>

修正后的结果页面(resultperso.html)

<!doctype html>
<html>
   <body>
      <table border = 1>
        <h1>{{ resulte }}</h1>
      </table>
   </body>
</html>

修改完成后,提交表单即可在/result页面正确显示用户输入的Name值。

内容的提问来源于stack exchange,提问作者Meriole

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.26 16:07:26