Flask 如何使用WTForms将表单输入发布到数据库
我正在使用WTForms为我的数据库捕获数据,在将表单输入提交到我的数据库时遇到问题。 我已经这样做了,以便现有数据填充表单以允许输入其他字段。有人能帮我解决如何提交数据吗 我已导入相关模块,如下所示:Flask 如何使用WTForms将表单输入发布到数据库,flask,flask-sqlalchemy,flask-wtforms,wtforms,Flask,Flask Sqlalchemy,Flask Wtforms,Wtforms,我正在使用WTForms为我的数据库捕获数据,在将表单输入提交到我的数据库时遇到问题。 我已经这样做了,以便现有数据填充表单以允许输入其他字段。有人能帮我解决如何提交数据吗 我已导入相关模块,如下所示: from flask_sqlalchemy import SQLAlchemy from wtforms_alchemy import ModelForm 然后,我在init.py文件中定义了表单 class EditRecord(ModelForm): class Meta:
from flask_sqlalchemy import SQLAlchemy
from wtforms_alchemy import ModelForm
然后,我在init.py文件中定义了表单
class EditRecord(ModelForm):
class Meta:
model = Foo
include_foreign_keys = True
该路线后来定义如下:
@app.route('/editdetail/<id>', methods = ['GET', 'POST'])
#route to new test input form
def editdetail(id):
testdata=Foo.query.filter_by(id=id).first()
form=EditRecord(obj=testdata)
if request.method=="POST" and form.validate():
form.populate_obj(request.form, obj=recorddata)
db.session.commit()
flash("info updated", "success")
return render_template('editdetail.html', form=form, testdata=testdata)
请让我知道,如果你有任何建议,我可以如何解决我的问题在这里。
非常感谢
<h1>Edit Details</h1>
<form action="/editdetail/{{testdata.id}}" method="POST">
<table>
{% for field in form %}
<tr>
<td>{{ field.label() }}</td>
<td>{{ field() }}</td>
</tr>
{% endfor %}
</table>
<button type="submit">add new test</button>
</form>
Flask==1.1.2
Flask-SQLAlchemy==2.5.1
Flask-WTF==0.14.3
WTForms==2.3.3
WTForms-Alchemy==0.17.0