html表单代码例子_flask-表单验证的功能

安装模块

17bac8b833836e8ea9c0f3b39874235b.png

导入模块

ae5766eba98728c25df0b2fadbc76cd3.png

定义表单控件与认证条件

# 类似于模型类
class RegisterForm(flask_wtf.FlaskForm):
    user_name = wtforms.StringField(label='用户名', validators=[wtforms.validators.DataRequired('用户名不能为空')])
    password = wtforms.PasswordField(label='密码', validators=[wtforms.validators.DataRequired('密码不可为空')])
    password2 = wtforms.PasswordField(label='确认密码', validators=[wtforms.validators.DataRequired('验证密码不可为空'),
                                                                wtforms.validators.EqualTo('password','不一致')])

    submit = wtforms.SubmitField(label='提交')

定义了文本输入框,密码框,提交按钮

验证表单

form.validate_on_submit()

如果用户输入的内容符合限定,为True,否则为False

前端

测试

6816bfd177fe04c2a2cb320995af570b.png

0b9f1c1fb6cbec68223daf5ee6c7513d.png

前端的注意

435e15f301e0d47681ca120f630060ef.png

表单的扩展

d4542212e358a4e8cf2d2ab558b9a7e3.png

c770c6193190203ef88b743814e8a61f.png

0f9d1326e4d5e8755d0d506592fbbff4.png

8ae7e72d1fb2b517da695175fbff85b7.png

d90030894a9b64d1eae971ba8a7ae6c9.png

12b764a804c69b76aafdde8097e2df77.png

表单的操作

安装好flask_wtf后

导入后使用

8ef388edaed2545e7c8a3cc42a58f2ce.png

表单的字段类型,在wtforms中

f5a9a38770eb77645b9a0fcdbcd84a9e.png

70931020aef7546e64fb0ace64424735.png

字段的验证

实例化字段一个字段的时候

传入参数 validators为一个列表,列表中填入相对应的验证数据

0545cc3256f0db5849ffb250c8901799.png

2ba378f4fa57a942bdfe6c326faf405a.png

例子

class RegisterForm(flask_wtf.FlaskForm):
    user_name = wtforms.StringField(label='用户名', validators=[wtforms.validators.DataRequired('用户名不能为空')])
    password = wtforms.PasswordField(label='密码', validators=[wtforms.validators.DataRequired('密码不可为空')])
    password2 = wtforms.PasswordField(label='确认密码', validators=[wtforms.validators.DataRequired('验证密码不可为空'),
                                                                wtforms.validators.EqualTo('password', '两次不一样')])

@app.route("/register")
def register():
    form = RegisterForm()
    return flask.render_template("register.html", form=form)

前端

<form action="post">
<!--    {{ form.csrf_token() }}-->
    {{ form.user_name.label}}
    {{ form.user_name }}
<!--    错误提示-->
    {{ form.user_name.errors }}


</form>

代码

d84dc8629698fb9f4baeb0bd11fecc96.png

在访问页面的时候

8a8664ed8f8bbf2e032cf9b3eaa57e3c.png

需要 加上一个括号即可

276356d576d328826febf101e6ef60c6.png

模板语句

3bd6da78c2d6f494b7305673fd5b187e.png

使用表单校验

在视图中

56d7b602bfcfa56deaa239fa99ff3e77.png

如果get请求不带参数

form.validate_on__submig():

结果为false

post表单加csrf

e3c1fe6d3960486315de52701199ebf1.png
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值