在 Flask 中创建一个简单的表单,如下所示:
from flask_wtf import FlaskForm
from wtforms import StringField, PasswordField, BooleanField
from wtforms.validators import Email, Length, InputRequired
class LoginForm(FlaskForm):
email = StringField('Email', validators=[InputRequired(), Length(1, 64), Email()])
password = PasswordField('Password', validators=[InputRequired()])
remember_me = BooleanField('Keep me logged in') # Notice this.
现在我们可以将此表单从 views.py 发送到模板。
@app.route('/test', methods=['GET', 'POST'])
def login():
form = LoginForm()
if form.validate_on_submit():
# Get remember_me parameter here using request.form.get('remember_me')
flash('Invalid username or password.')
return render_template('your_template.html', form=form)
最后在模板文件your_template.html中渲染from。
<form class="form-horizontal" method="post">
{{ form.hidden_tag() }}
<div class="col-md-offset-2 col-md-10">
<div class="checkbox">
<label>
{{form.remember_me}} Keep me logged in
</label>
</div>
</div>
<div class="form-group">
<div class="col-md-10 col-md-offset-2">
<input type="submit" class="btn btn-raised btn-primary" value="Submit">
</div>
</div>
</form>
注意 {{form.remember_me}}。选中后,这会将 remember_me 返回为 y else None in views.py 文件。
注意:您可能无法直接复制粘贴此代码,因为您肯定需要根据您的要求进行更改。请将此仅作为参考,它一定会帮助您和将来到达这里的任何人。