Я использую WTForms и Jinja2, чтобы создать страницу с редактируемой текстовой областью.Идея состоит в том, чтобы редактировать текст в базе данных, поэтому текстовое поле уже должно быть заполнено текстом для редактирования пользователем.
На основе этот вопрос / ответ У меня есть что-то вроде следующего кода:
В 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
, изменения будут сохранены.
Итак, как я могу предварительно заполнить текстовую область, но убедиться, что все изменения в тексте сохранены?