我试图建立一个电子商务商店,但在使用python flask添加到购物车时遇到了麻烦

时间:2019-01-05 04:01:24

标签: python html flask

我正在建立一个电子商务烧瓶站点,并且坚持增加购物车的安全性。

我尝试使用POST请求将其存储在db中,然后在/ cart视图中显示它。非常感谢任何帮助。这是我到目前为止所得到的。

models.py
class ATC(db.Model):
id = db.Column(db.Integer, primary_key=True)
title = db.Column(db.String(80)) 
description = db.Column(db.Text)
price = db.Column(db.String(80))


views.py

def shop():
products = Product.query.all()
return render_template('product/index.html', prod=products)


@app.route('/addcart', methods=('GET', 'POST'))
def addcart():

title = request.form['{{ product.title }}']
description = request.form['{{ product.description|safe }}']
price = request.form['{{ product.price }}']

add = ATC(title=title, description=description, price=price)  

db.session.add(add) 
db.session.commit()


return redirect(url_for('cart'))



index.html (for the shop)
{% if current_user.has_role('admin') %}
<a href="{{ url_for('new_product') }}" class="btn btn-primary" style="width:100%; margin-bottom:10px;"><i class="fa fa-plus"> New Product</i></a>
{% endif %}
<div class="row text-center">
{% for product in prod %}

    <div class="col-lg-3 col-md-6 mb-4">
      <form name="addForm" id="addForm" method="POST" action="{{ url_for('addcart') }}" novalidate>
      <div class="card">
        <div class="card-body">
          <li class="header"><img src="{{ product.images }}" width="180" height="175"></li>
          <p class="card-text1">--------------------------------------</p>
          <h4 class="card-title" name="{{ product.title }}">{{ product.title }}</h4>
          <p class="card-text" name="{{ product.description|safe }}">{{ product.description|safe }}</p>
        </div>
          <h4 class="card-title" name="{ product.price }}">${{ product.price }}</h4>
        <div class="card-footer">
          <button type="submit" class="btn btn-primary" id="sendMessageButton">ATC</button>
              {% if current_user.has_role('admin') %}
              <div class="row justify-content-center" style="margin-top:5px;">
              <a href="{{ url_for('delete_product', product_id=product.id) }}" class="btn btn-danger">Delete!</a>
              <a href="{{ url_for('edit_product', product_id=product.id) }}" class="btn btn-warning">Edit!</a>
              </div>
              {% endif %}
        </div>
      </div>
      </form>
    </div>

   {% endfor %}

我希望能够将此信息存储到数据库中并在/ cart视图中显示它。

非常感谢!

0 个答案:

没有答案