Reputation: 25
I don't know how can I improve this code, I'm trying to insert multiple data with same field with different values. Can someone improve my code?
<form action="/submits/ method="POST">
<input type="text" name="book" value="Divergent">
<input type="text" name="author" value="Veronica Roth">
<input type="text" name="book" value="Allegiant">
<input type="text" name="author" value="Veronica Roth">
<input type="text" name="book" value="Inferno">
<input type="text" name="author" value="Dan Brown">
<input type="submit" value="Submit">
</form>
@app.route('/submits/', methods = ['POST'])
def books():
if method == "POST":
BOOK = request.form['book']
AUTHOR = request.form['author']
stmt = "INSERT INTO shelf (book_column, author_column) VALUES (%s, %s)"
c.executemany(stmt, (BOOK, AUTHOR))
conn.commit()
Upvotes: 1
Views: 1288
Reputation:
you can try use getlist
:
if method == "POST":
stmt = "INSERT INTO shelf (book_column, author_column) VALUES (%s, %s)"
books = request.form.getlist('book')
authors = request.form.getlist('author')
for i, book in enumerate(books):
c.executemany(stmt, (book, authors[i]))
c.commit()
Upvotes: 1