Python 来自wtform的数据不';t写入DB-Flask
我正在尝试创建一个简单的表(ID、名称),其中包含三个路由:home、add和view。Add将向表中添加名称,view将显示完整的表。 将完整代码推送到此处,以便使用Docker更轻松地运行: 由于某些原因,我无法从此路由\视图将数据写入数据库:Python 来自wtform的数据不';t写入DB-Flask,python,flask,sqlalchemy,wtforms,Python,Flask,Sqlalchemy,Wtforms,我正在尝试创建一个简单的表(ID、名称),其中包含三个路由:home、add和view。Add将向表中添加名称,view将显示完整的表。 将完整代码推送到此处,以便使用Docker更轻松地运行: 由于某些原因,我无法从此路由\视图将数据写入数据库: @app.route('/add', methods=['GET', 'POST']) def add(): form = NameForm() print('Name form created') if request.me
@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)
正如您在完整的代码中看到的,我在html、forms.py、models.py中使用了Jinja2,但是我找不到它不写入DB并且没有任何错误的原因…可能form.validate()
总是错误的,因为{form.hidden_tag()}
在表单模板中被注释掉了