Я пытаюсь создать простую таблицу (ID, имя) с тремя маршрутами - домой, добавить, просмотреть. Добавить добавит имя к таблице, а представление покажет полную таблицу. Полный код вставлен здесь, так что будет проще запустить его с Docker: https://github.com/Nadavbm/Python/tree/master/flask/sql/name
По какой-то причине я не могу записать данные в БД из этого маршрута \ view:
@app.route('/add', methods=['GET', 'POST'])
def add():
form = NameForm()
print('Name form created')
if request.method == 'POST' and form.validate():
print('Post entered and form validated')
named = Name(name=form.name.data)
try:
print('Trying to add new name to db')
db.session.add(named)
print('Add name')
db.session.commit()
print('Commit name')
flash('Added name successfully!')
except e:
print('Exception!!')
session.rollback()
print(e)
return redirect(url_for('view'))
return render_template('add.html', form=form)
Как вы можете видеть в полном коде, я использую Jinja2 в html, forms.py, models.py - но я не могу найти причину, по которой он не пишет в БД и не имеет ошибок ...