Python 如何使用HTML表单用产品ID更新购物车?

Python 如何使用HTML表单用产品ID更新购物车?,python,html,jinja2,flask-sqlalchemy,Python,Html,Jinja2,Flask Sqlalchemy,我正在用Python、Flask和SQLAlchemy构建一个电子商务网站,并试图更新用户购物车上的产品数量。我可以轻松地检索产品数量(打印在命令行上),但无法获取产品ID(最终需要更新SQL购物车表)。在购物车页面上,数量和产品ID均正确显示 class Products(db.Model): id = db.Column(db.Integer, primary_key=True) name = db.Column(db.String(100), nullable=False)

我正在用Python、Flask和SQLAlchemy构建一个电子商务网站,并试图更新用户购物车上的产品数量。我可以轻松地检索产品数量(打印在命令行上),但无法获取产品ID(最终需要更新SQL购物车表)。在购物车页面上,数量和产品ID均正确显示

class Products(db.Model):
    id = db.Column(db.Integer, primary_key=True)
    name = db.Column(db.String(100), nullable=False)
    price = db.Column(db.Integer, nullable=False)

@app.route("/cart", methods=["GET", "POST"])
@login_required
def cart():
    cart = Products.query.join(Cart).filter_by(buyer=current_user).all()

    if request.method == "POST":
        qty = request.form.get("qty")
        idpd = request.form.get("idpd")
        print("qty",qty)
        print("id",idpd)


{% for item in cart %}      

<span>
     {{item.name}}
</span>

<div>
    ${{item.price}}
</div>

<form action="{{ url_for('cart') }}" method="post">
<div class="form-group">

 <p name="idpd">{{item.id}}</p>
 <select class="form-control" name="qty">
      <option disabled="Quantity">Qty</option>
      <option>1</option>
      <option>2</option>
      <option>3</option>
 </select>

<button type="submit">
     Update
</button>

{% endfor %}
类产品(db.Model):
id=db.Column(db.Integer,主键=True)
name=db.Column(db.String(100),null=False)
price=db.Column(db.Integer,nullable=False)
@app.route(“/cart”,方法=[“GET”,“POST”])
@需要登录
def cart():
购物车=产品。查询。加入(购物车)。筛选依据(买家=当前用户)。全部()
如果request.method==“POST”:
数量=申请表获取(“数量”)
idpd=request.form.get(“idpd”)
打印(“数量”,数量)
打印(“id”,idpd)
{购物车%中的商品为%1}
{{item.name}
${{item.price}

{{item.id}

数量 1. 2. 3. 更新 {%endfor%}
当我为产品id 1的数量选择选项2并单击更新时,我期望数量2和id 1的输出,但实际输出为: 数量2 id无

您需要

 <p name="idpd">{{item.id}}</p>

{{item.id}


<input name="idpd" value="{{item.id}}" hidden>