在WTForms中,可以使用Flash
来显示验证错误信息。下面是一个示例代码,演示如何保持模态窗口打开并显示WTForms的验证错误信息:
from flask import Flask, render_template, flash, redirect, url_for
from flask_wtf import FlaskForm
from wtforms import StringField, SubmitField
from wtforms.validators import DataRequired
app = Flask(__name__)
app.secret_key = 'your_secret_key'
class MyForm(FlaskForm):
name = StringField('Name', validators=[DataRequired()])
submit = SubmitField('Submit')
@app.route('/', methods=['GET', 'POST'])
def index():
form = MyForm()
if form.validate_on_submit():
# 处理表单提交
flash('Form submitted successfully!')
return redirect(url_for('index'))
return render_template('index.html', form=form)
if __name__ == '__main__':
app.run()
在上面的代码中,我们使用了flash
函数来显示验证错误信息。在处理表单提交时,如果表单验证成功,则会显示一条成功消息,并重定向到首页。如果表单验证失败,则会显示一条错误消息,并保持模态窗口打开。
在模板文件index.html
中,我们可以使用get_flashed_messages
函数来获取并显示Flash消息:
Modal Window Example
Error
{% for message in get_flashed_messages() %}
- {{ message }}
{% endfor %}
在上面的模板文件中,我们使用了条件语句来控制模态窗口的显示和隐藏。如果有Flash消息,则显示模态窗口,并将消息作为列表项显示出来。
注意,为了使Flash消息能够正常工作,需要在应用程序中设置一个秘密密钥,通过app.secret_key
进行设置。
希望这个示例可以帮助到你!