1 回答

TA貢獻1877條經驗 獲得超6個贊
您可以在 Flask 中使用WTForm,在表單提交時將編輯后的數據傳遞給數據庫。
Flask-WTF 為您的 Flask 應用程序提供與 WTForms 的集成。例如:` from flask_wtf import FlaskForm from wtforms import StringField from wtforms.validators import DataRequired
class?MyForm(FlaskForm): ????name?=?StringField('name',?validators=[DataRequired()])
`
注意從 0.9.0 版本開始,Flask-WTF 將不會從 wtforms 中導入任何內容,您需要從 wtforms 中導入字段。
此外,還會自動創建一個 CSRF 令牌隱藏字段。你可以在你的模板中呈現這個:`
<form method="POST" action="/">
? ? {{ form.csrf_token }}
? ? {{ form.name.label }} {{ form.name(size=20) }}
? ? <input type="submit" value="Go">
</form>
If your form has multiple hidden fields, you can render them in one block using hidden_tag().
<form method="POST" action="/">
? ? {{ form.hidden_tag() }}
? ? {{ form.name.label }} {{ form.name(size=20) }}
? ? <input type="submit" value="Go">
</form>
Validating Forms Validating the request in your view handlers:
@app.route('/submit', methods=('GET', 'POST'))
def submit():
? ? form = MyForm()
? ? if form.validate_on_submit():
? ? ? ? #you can write your db logic here.
? ? ? ? return redirect('/success')
? ? return render_template('submit.html', form=form)
` 請注意,您不必將 request.form 傳遞給 Flask-WTF;它會自動加載。便利的 validate_on_submit 將檢查它是否是 POST 請求以及它是否有效。
添加回答
舉報