Я пытаюсь создать систему корзины, используя flask sql -альхимию. До сих пор у меня есть три модели, хотя большая часть данных в этих методах бесполезна.
class User(db.Model, UserMixin):
id = db.Column(db.Integer, primary_key=True)
email = db.Column(db.String(30), unique=True, nullable=False)
join_date = db.Column(db.DateTime, nullable=False, default=datetime.utcnow())
password = db.Column(db.String(60), nullable=False)
admin = db.Column(db.Boolean, nullable=False, default=False)
messages = db.relationship('Message', backref='sender', lazy=True)
cart = db.relationship('Cart', backref=db.backref('shopper', lazy=True, uselist=False))
class Item(db.Model):
id = db.Column(db.Integer, primary_key=True)
category = db.Column(db.String)
title = db.Column(db.String)
location = db.Column(db.String)
price = db.Column(db.Integer)
allocation = db.Column(db.Integer)
ram = db.Column(db.Integer)
storage = db.Column(db.Integer)
players = db.Column(db.String)
inCarts = db.relationship('Cart', secondary=association_table, backref=db.backref('cartItem', lazy='dynamic'))
class Cart(db.Model):
id = db.Column(db.Integer, primary_key=True)
user_id = db.Column(db.Integer, db.ForeignKey('user.id'), nullable=False)
У меня есть форма addtocart, которая является просто кнопкой,
class AddToCartForm(FlaskForm):
submit = SubmitField('Order Now')
В моем файле rout.py я устанавливаю переменную form = AddToCartForm () и проверяю, действительна ли она при отправке. У меня есть несколько элементов, использующих эту форму, поэтому моя проблема в том, как мне проверить, какой элемент отправляется.
Это здесь html
<div class="server-option">
<h5>{{ item.title }} [ {{ item.location }} ]</h5>
<p style="display: inline; float: right;">Starting at ${{ item.price }} USD Monthly</p>
<div class="server-specs">
<p><small><span style="font-weight: bold;">CPU Allocation - </span>{{ item.allocation }}%</small></p>
<p><small><span style="font-weight: bold;">RAM - </span>{{ item.ram }}GB</small></p>
<p><small><span style="font-weight: bold;">Storage - </span> {{ item.storage }}GB {{ storage_type }}</small></p>
<p><small><span style="font-weight: bold;">Players - </span>{{ item.players }}</small></p>
</div>
<form method="POST" action="">
{{ form.hidden_tag() }}
<div class="form-group">
{{ form.submit(class="add-to-cart") }}
<!-- ! Seperate item page for each item therefore you can use the link information to tell which item to add -->
</div>
</form>
</div>