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

如何将HTML表单中显示的数值回传给Python Flask进行后续处理

实现方法

要把页面上展示的股票相关数据和用户输入的售价一起提交回Flask后端,关键是把这些展示的数值通过**隐藏输入框(hidden input)**嵌入表单中——因为普通文本(比如<p>标签里的内容)不会随表单提交,只有表单内的表单控件数据会被发送。

修改HTML表单

在你的<form>标签内部(必须在表单范围内),为每个需要回传的stks值添加一个隐藏输入字段,字段的value绑定对应的模板变量,同时设置明确的name属性方便后端识别:

<form method="POST">
    <p> Stock to Sell      : {{stks[0]}} </p>
    <!-- 添加隐藏字段回传股票名称 -->
    <input type="hidden" name="stock_name" value="{{stks[0]}}">

    <p> Stock Bought for   : {{stks[1]}} </p>
    <!-- 添加隐藏字段回传买入价 -->
    <input type="hidden" name="buy_price" value="{{stks[1]}}">

    <p> Date of Purchase   : {{stks[2]}} </p>
    <!-- 添加隐藏字段回传购买日期 -->
    <input type="hidden" name="purchase_date" value="{{stks[2]}}">

    <p> Target Date        : {{stks[3]}} </p>
    <!-- 添加隐藏字段回传目标日期 -->
    <input type="hidden" name="target_date" value="{{stks[3]}}">

    <p> Stop Loss Price    : {{stks[4]}} </p>
    <!-- 添加隐藏字段回传止损价 -->
    <input type="hidden" name="stop_loss_price" value="{{stks[4]}}">

    <br>
    Enter the Sale Price :
    <input type="text" name="saleprice">
    <input type="submit" name="submit-button" value="Add">
</form>

Flask后端接收数据

在处理表单提交的Flask视图函数中,通过request.form.get()方法获取所有提交的字段值(包括隐藏字段和用户输入的售价):

from flask import Flask, render_template, request

app = Flask(__name__)

# 渲染并处理表单的视图
@app.route('/sell-stock', methods=['GET', 'POST'])
def sell_stock():
    if request.method == 'POST':
        # 获取回传的隐藏字段值
        stock_name = request.form.get('stock_name')
        buy_price = request.form.get('buy_price')
        purchase_date = request.form.get('purchase_date')
        target_date = request.form.get('target_date')
        stop_loss_price = request.form.get('stop_loss_price')
        # 获取用户输入的售价
        sale_price = request.form.get('saleprice')

        # 这里写后续处理逻辑,比如存入数据库、计算收益等
        print(f"提交数据:股票{stock_name},买入价{buy_price},售价{sale_price}")
        # 可返回确认页面或重定向
        return "提交成功!"
    
    # GET请求时渲染表单,示例stks数据
    stks = ["AAPL", "150.00", "2024-01-01", "2024-06-01", "140.00"]
    return render_template('sell_stock.html', stks=stks)

if __name__ == '__main__':
    app.run(debug=True)

注意事项

  • 确保所有隐藏输入字段都在<form>标签内部,否则不会被提交。
  • 后端获取字段时,name属性要和HTML中设置的完全一致(比如stock_name对应name="stock_name")。
  • 对于价格、日期这类数据,建议在后端进行类型转换(比如把buy_price转成float,日期转成datetime对象),方便后续处理。
  • 如果stks数据来自数据库,更推荐回传股票的唯一ID(比如stock_id),而非直接传显示值——避免显示值被篡改或重复的问题,后端再通过ID查询完整数据。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.20 03:53:09