Как я могу обновить свою корзину с идентификатором продукта, используя форму HTML? - PullRequest
1 голос
/ 21 сентября 2019

Я создаю сайт электронной коммерции с использованием Python, Flask и SQLAlchemy и пытаюсь обновить количество товара в корзине пользователя.Я могу легко получить количество продукта (которое напечатано в моей командной строке), но не могу получить идентификатор продукта (который мне в конечном итоге необходим для обновления таблицы корзины SQL).На странице корзины как количество, так и идентификатор продукта правильно отображаются

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 %}

. Когда я выбираю опцию 2 для количества идентификатора продукта 1 и нажимаю кнопку Обновить, я ожидаю, что выводится количество 2 иидентификатор 1, но фактический результат: кол-во 2 идентификатор нет

1 Ответ

1 голос
/ 21 сентября 2019

Вам нужно сделать

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

до

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