普通网友 2021-07-30 11:28 采纳率: 44%
浏览 125
已结题

Flask-WTF是什么,有什么特点?

Flask-WTF是什么,有什么特点?flask flask-wtf flask-sqlalchemy pymysql哪出问题了呢flask开发动态创建多选框并勾选默认值,且传到后台怎么做?

  • 写回答

1条回答 默认 最新

  • 普通网友 博客专家认证 2021-07-30 11:29
    关注

    Flask-wtf是一个用于表单处理,校验并提供csrf验证的功能的扩展库
    Flask-wtf能把正表单免受CSRF<跨站请求伪造>的攻击
    eg:
    form.html

    <form> {{ form.csrf_token }} #进入csrf验证

    {{ 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,DataRequired

    class Login(FlaskForm): #继承自FlaskForm类
    username = StringField('用户名',validators=[Length(min=6,max=12,message='用户名长度为612位'),DataRequired(message='用户名不能为空')])
    userpass = PasswordField('密码',validators=[Length(min=6,max=12,message='密码长度为6
    12位'),DataRequired(message='密码不能为空')])
    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() 验证函数。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 8月7日
  • 已采纳回答 7月30日
  • 创建了问题 7月30日

悬赏问题

  • ¥100 Jenkins自动化部署—悬赏100元
  • ¥15 关于#python#的问题:求帮写python代码
  • ¥20 MATLAB画图图形出现上下震荡的线条
  • ¥15 关于#windows#的问题:怎么用WIN 11系统的电脑 克隆WIN NT3.51-4.0系统的硬盘
  • ¥15 perl MISA分析p3_in脚本出错
  • ¥15 k8s部署jupyterlab,jupyterlab保存不了文件
  • ¥15 ubuntu虚拟机打包apk错误
  • ¥199 rust编程架构设计的方案 有偿
  • ¥15 回答4f系统的像差计算
  • ¥15 java如何提取出pdf里的文字?