1.Form表单后端(不分离)
(1)首先,导入表单基类,falsk-wtf使用秘钥生成加密令牌,用加密令牌验证请求中表单数据的真伪
# 管理员登录表单
class LoginForm(FlaskForm):
account = StringField(
label="账号",
validators=[
DataRequired("请输入账号!")
], # 验证器,如果前端不输入,会提示
description="账号", # 描述符
render_kw={ # 附加选项
"class": "form-control",
"placeholder": "请输入账号!",
"required": "required" # 添加强制属性,H5会在前端验证,注释掉会提示验证器内容
}
)
pwd = PasswordField(
label="密码",
validators=[
DataRequired("请输入密码!")
],
description="密码",
render_kw={
"class": "form-control",
"placeholder": "请输入密码!",
"required": "required"
}
)
submit = SubmitField(
'登录',
render_kw={
"class": "btn btn-primary btn-block btn-flat"
}
)
(2)视图中的获取前端请求数据
# 导入登录表单
form = LoginForm()
# 获取数据集
data = form.data
# key-value取值
data['account']
注意:若使用此种方法,获取前端请求数据,form标签的action不用写路由,只需注明method方式,前端需以下书写放能拿到数据 ! ! !
# 将标签用此形式替换
{{ form.name }}
{{ form.name.label }}
# 提交按钮
{{ form.csrf_token }} # 加密令牌,用加密令牌验证请求中表单数据的真伪
{{ form.submit }}
2.常用form表单的提交
(1)前端正常写,通过路由传参
(2)后端获取数据方式
① get请求:request.args.get()
② post请求:request.form.get()
3.flash消息闪现,提示信息,此处列举两处
(1)python代码
① flash(‘错误’,‘err’)
flash(‘正确’,’ok’)
② flash('错误”)
flash('正确”)
(2)前端获取错误提示的代码
①{% for msg in get_flashed_messages(category_filter=[‘ok’]) %}{% endfor %}
②{% for msg in get_flashed_messages() %}{% endfor %}
此外,还有其他方法,可去官方文档查看