how to submit form with multiple form field bearing the same name to database table in flask

260 Views Asked by At

I trying to submit items in a shopping cart to a database table but I can't get a clear understanding or how to implement it using the documentation on WTFORMS and other online materials I came across.

I have this forms in my forms.py:

class CartForm(Form):
    amount = IntegerField('Price')
    item_name = StringField('Product Name')
    quantity = IntegerField('Quantity')
    item_total_amount = IntegerField('Item Total')

class MainForm(FlaskForm):
    total_amount = IntegerField('Total Amount')
    cart_items = FieldList(
    FormField(CartForm),
    min_entries=1,
    max_entries=20)

and this is the form in my template: checkout.html

    <form name="cart" action="{{ url_for('posts.checkout') }}" method="post" 
    enctype="multipart/form-data">

            <table class="timetable_sub">
                <thead>
                    <tr>


                        <th>Product Name</th>
                        <th>Quantity</th>
                        <th>Price</th>
                        <th>Total</th>

                    </tr>
                </thead>
                <tbody>
                        {% for item in user_cart %}

                    </tr>
                    <tr name="line_items">

                        <td><input type="text" name="item_name " value="{{item.item_name }}"></td>
                        <td><input type="number" name="quantity " value="{{item.quantity}}"></td>
                        <td><input type="number" name="amount" value="{{item.amount}}"></td>
                        <td>
                        <input type="number" name="item_total_amount "value="item_total_amount 
                        </td>
                       </tr>
                        {% endfor %}
                    </tbody></table>

                       <input type="number" name="total_amount" value="total_amount">
                       <input type="submit" value="Register">

            </form>

I will appreciate a tutorial link or code base that can help me send this looped for fields to the database table

0

There are 0 best solutions below