【发布时间】:2019-03-15 12:24:33
【问题描述】:
我正在使用 WTForms 和 Jinja2 制作带有可编辑文本区域的页面。这个想法是在数据库中编辑文本,因此 textarea 应该已经填充了文本供用户编辑。
基于this question/answer 我有类似的东西
以下代码:
在app.py:
form = MyForm() # MyForm is defined elsewhere simply as
# class MyForm(FlaskForm): content=TextAreaField()
prepopulated = GetTextFromDatabase()
form.content.data = prepopulated
if form.validate_on_submit():
new_content = form.content.data
SaveToDatabase(new_content)
return flask.render_template('edit.html', form=form)
在edit.html:
<form method="POST">
<div>
{{ form.hidden_tag() }}
{{ form.content }}
</div>
<div>
<button type="submit">Submit</button>
</div>
</form>
但是,在提交时,对文本所做的更改不会保存在数据库中。如果我删除 form.content.data = prepopulated 更改将被保存。
那么,如何预先填充文本区域,同时确保保存对文本的任何更改?
【问题讨论】:
标签: python html jinja2 flask-wtforms