【发布时间】:2019-10-10 21:41:56
【问题描述】:
我正在尝试使用 python flask 和 flask-sqlalchemy 创建 AddtoCart 和 Checkout 功能。总的来说,我认为自己是 Web 开发的初学者。如何使用按钮获取产品项目并将其作为购物车项目添加到购物车?我还想计算购物车商品的总价。
到目前为止,我创建了两个模型(ProductItem、CartItem)。我成功创建了 2 个 ProductItems(虚拟数据),并且能够使用带有 jinja2 模板的 for 循环在视图中显示它们。我尝试创建一个函数来选择产品并将其添加到购物车,但我无法弄清楚如何使添加到购物车按钮功能起作用。
提前致谢!!
class ProductItem(db.Model):
__tablename__='products'
id = db.Column(db.Integer,primary_key=True)
name = db.Column(db.String(64),unique=True)
descr = db.Column(db.Text,unique=True,nullable=True)
price = db.Column(db.Float,nullable=False)
img = db.Column(db.String(64),unique=True)
cartitems = db.relationship('CartItem', backref='Product')
def __repr__(self):
return '<ProductName %r>' % self.name
class CartItem(db.Model):
__tablename__='cartitems'
id = db.Column(db.Integer,primary_key=True)
# adding the foreign key
product_id = db.Column(db.Integer, db.ForeignKey('products.id'))
@app.route('/')
def index():
products = Product.query.all()
return render_template('home.html',products=products)
def getproductitem():
itemid = product.id
productname = product.name
productname = CartItem(product_id=itemid)
db.session.add(product)
db.session.commit()
----------------html jinja----------
{% for product in products %}
<div class="product-item">
<h3>{{ product.name }}</h3>
<img src="static/img/products/{{ product.img }}" alt="" width="200px" height="200px">
<p> {{ product.price }}</p>
<button onclick="getproductitem()" type="button" class="btn btn-primary">Add to Cart</button>
</div>
{% endfor %}
【问题讨论】:
标签: python-3.x flask flask-sqlalchemy