Flask-WTF是什么,有什么特点?flask flask-wtf flask-sqlalchemy pymysql哪出问题了呢flask开发动态创建多选框并勾选默认值,且传到后台怎么做?
1条回答 默认 最新
关注
Flask-wtf是一个用于表单处理,校验并提供csrf验证的功能的扩展库
<form> {{ form.csrf_token }} #进入csrf验证
Flask-wtf能把正表单免受CSRF<跨站请求伪造>的攻击
eg:
form.html{{ form.username.label }}{{ form.username(style='color:red',placeholder='请输入用户名') }}{{ form.username.errors }}
{{ form.userpass.label }}{{ form.userpass() }}{{ form.userpass.errors }}
{{ form.submit() }}
</form> manage.py from flask import Flask,render_template,request from flask_wtf import FlaskForm #导入继承父类 from wtforms import StringField,PasswordField,SubmitField from wtforms.validators import Length,DataRequiredclass Login(FlaskForm): #继承自FlaskForm类
username = StringField('用户名',validators=[Length(min=6,max=12,message='用户名长度为612位'),DataRequired(message='用户名不能为空')])12位'),DataRequired(message='密码不能为空')])
userpass = PasswordField('密码',validators=[Length(min=6,max=12,message='密码长度为6
submit = SubmitField('登录')@app.route('/wtf_form',methods=['GET','POST'])
def wtf_form():
form = Login() #实例化form对象
if request.method == 'POST':
if form.validate_on_submit(): #数据正确 并且验证csrf通过
print(request.form.get('userpass'))
print(request.form.get('username'))
return '数据提交成功'
return render_template('wtf_form.html',form=form)#注:
#1 methods 参数告诉Flask在URL映射中把这个视图函数注册为GET和POST请求的处理程序,默认GET
#2 采用post请求可以通过对象很轻松访问,GET 请求没有主体,提交的数据以查询字符串的形式附加到URL中
#3 validate_on_submit() 会调用username 字段上附属的 DataRequired() 验证函数。本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报
悬赏问题
- ¥15 metadata提取的PDF元数据,如何转换为一个Excel
- ¥15 关于arduino编程toCharArray()函数的使用
- ¥100 vc++混合CEF采用CLR方式编译报错
- ¥15 coze 的插件输入飞书多维表格 app_token 后一直显示错误,如何解决?
- ¥15 vite+vue3+plyr播放本地public文件夹下视频无法加载
- ¥15 c#逐行读取txt文本,但是每一行里面数据之间空格数量不同
- ¥50 如何openEuler 22.03上安装配置drbd
- ¥20 ING91680C BLE5.3 芯片怎么实现串口收发数据
- ¥15 无线连接树莓派,无法执行update,如何解决?(相关搜索:软件下载)
- ¥15 Windows11, backspace, enter, space键失灵