返回介绍

用户登录表单

发布于 2025-01-02 21:53:48 字数 1088 浏览 0 评论 0 收藏

Flask-WTF 插件使用 Python 类来表示 Web 表单。表单类只需将表单的字段定义为类属性即可。

为了再次践行我的 松耦合 原则,我会将表单类单独存储到名为 app/forms.py 的模块中。就让我们来定义用户登录表单来做一个开始吧,它会要求用户输入 username 和 password,并提供一个“remember me”的复选框和提交按钮:

from flask_wtf import FlaskForm
from wtforms import StringField, PasswordField, BooleanField, SubmitField
from wtforms.validators import DataRequired

class LoginForm(FlaskForm):
    username = StringField('Username', validators=[DataRequired()])
    password = PasswordField('Password', validators=[DataRequired()])
    remember_me = BooleanField('Remember Me')
    submit = SubmitField('Sign In')

大多数 Flask 插件使用 flask_ <name> 命名约定来导入,Flask-WTF 的所有内容都在 flask_wtf 包中。在本例中, app/forms.py 模块的顶部从 flask_wtf 导入了名为 FlaskForm 的基类。

由于 Flask-WTF 插件本身不提供字段类型,因此我直接从 WTForms 包中导入了四个表示表单字段的类。每个字段类都接受一个描述或别名作为第一个参数,并生成一个实例来作为 LoginForm 的类属性。

你在一些字段中看到的可选参数 validators 用于验证输入字段是否符合预期。 DataRequired 验证器仅验证字段输入是否为空。更多的验证器将会在未来的表单中接触到。

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。