Не добавляются данные в базу после нажатия кнопки / Flask, sqlite
Коллеги прошу помочь! Есть кнопка на HTML: Но база не обновляется может ошибка в коде или нужно другой метод использовать
<body>
<H1>ДОБАВИТЬ ZNACHENIYA</H1>
<form action="/product" method="post">
<input type="button" name="product" value="product">
</form>
</body>
Код на py:
@app.route('/product', methods=['POST', 'GET'])
def product ():
if request.method == 'POST':
with sqlite3.connect('lavaw.db') as connection:
cursor = connection.cursor()
cursor.execute("INSERT INTO dannie VALUES ('1', 'Audi', '52000')",[request.form['product']])
connection.close()
return render_template('product.html')
Ответы (1 шт):
Автор решения: Violet
→ Ссылка
Измените type у кнопки на submit:
<body>
<H1>ДОБАВИТЬ ZNACHENIYA</H1>
<form action="/product" method="post">
<input type="submit" name="product" value="product">
</form>
</body>
.py:
@app.route('/product', methods=['GET', 'POST'])
def product():
if request.method == 'POST':
conn = sqlite3.connect('testdb.db')
cursor = conn.cursor()
db_data = [('1', 'Audi', '52000')]
cursor.executemany('INSERT INTO table_one VALUES (?, ?, ?)', db_data)
conn.commit()
return render_template('test.html')
Измените очерёдность доступных методов для маршрута, чтобы не добавлять записи в БД каждый раз при переходе на страницу.
Используйте conn.commit() для сохранения внесённых данных.