Flask之WTfroms组件

一、WTfroms简介

WTForms插件是类似于django的form组件的插件,可以帮我们写标签,校验数据等。

二、安装与使用

安装:

pip install WTForms

使用:

from wtforms import Form
from wtforms.fields import simple, core
from wtforms import validators

class RegForm(Form):

    username = simple.StringField(
        label="用户名",
        validators=[
            validators.DataRequired(message="数据不能为空!"),
            validators.length(min=4, max=6, message="用户名不能少于4位且不能大于6位")
        ],
        render_kw={"class": "form-control", "pp": "88"}
    )
    password = simple.PasswordField(
        label="密码",
        validators=[
            validators.DataRequired(message="密码不能为空!"),
            validators.length(min=6, max=16, message="密码不能少于6位且不能大于6位"),
            validators.Regexp(regex="\d+", message="密码必须是数字")
        ],
        render_kw={"class": "form-control", "pp": "88"}
    )
    re_password = simple.PasswordField(
        label="确认密码",
        validators=[
            validators.EqualTo(fieldname="password", message="两次密码不一致")
        ],
        render_kw={"class": "form-control"}
    )
    gender = core.RadioField(
        label="性别",
        validators=[
            validators.DataRequired(message="请先选择一个性别!")
        ],
        choices=((1, "男"), (2, "女")),
        coerce=int,
        # default=1,
    )
    hobby = core.SelectMultipleField(
        label="爱好",
        choices=((1, "游戏"), (2, "妹子"), (3, "汉子")),
        coerce=int,
        default=[1, 2],
        render_kw={"class": "form-control"}
    )

@app.route("/register", methods=("GET", "POST"))
def reg():
    form_obj = RegForm()
    if request.method == "POST":
        print(request.form)
        form_obj = RegForm(request.form)
        if form_obj.validate():
            ers = request.form.to_dict()
            print(ers)
            print(form_obj.data)
            return "注册成功"
    return render_template("reg.html", form_obj=form_obj)

if __name__ == ‘__main__‘:
    app.run(debug=True)

前端:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/boo[email protected]/dist/css/bootstrap.min.css"
          integrity="sha384-BVYiiSIFeK1dGmJRAkycuHAHRg32OmUcww7on3RYdg4Va+PmSTsz/K68vbdEjh4u" crossorigin="anonymous">
</head>
<body>
<div class="container">
    <div class="row">
        <div class="col-md-4 col-md-offset-4">
            <form action="" method="post" novalidate>
                {% for field in form_obj %}
                    <div class="form-group">
                        {{ field.label }}
                        {{ field }}
                        {{ field.errors.0 }}
                    </div>
                {% endfor %}
                <div>
                    <button class="btn btn-primary btn-lg btn-block">注册</button>
                </div>
            </form>
        </div>
    </div>
</div>

</body>
</html>

原文地址:https://www.cnblogs.com/qq631243523/p/10268873.html

时间: 2024-11-02 11:22:40

Flask之WTfroms组件的相关文章

Flask框架—session组件详解

一.flask session简介 flask中session组件可分为内置的session组件还有第三方flask-session组件,内置的session组件缺点: 功能单一 session是保存在浏览器中的cookie中,不安全, 大小有限制 而第三方插件flask-session可支持redis.memcached.文本等session的存储. 二.内置session处理机制 Cookie与Session 我们回顾一下cookie和session知识 Cookie Cookie意为“甜饼

Python Flask wtfroms组件

简介 WTForms是一个支持多个web框架的form组件,主要用于对用户请求数据进行验证. 安装: pip3 install wtforms 用户登录注册示例 1. 用户登录 当用户登录时候,需要对用户提交的用户名和密码进行多种格式校验.如: 用户不能为空:用户长度必须大于6: 密码不能为空:密码长度必须大于12:密码必须包含 字母.数字.特殊字符等(自定义正则): #!/usr/bin/env python # -*- coding:utf-8 -*- from flask import F

flask之三方组件

Flask-session Flask-session跟框架自带的session有什么区别呢~ 框架自带的session是通过请求上下文~放入到Local中的~那如果我们想把session放入别的地方怎么办呢~ 比如redis~或者数据库~等等~~Flask-session就提供了这些功能~~我们看下Flask-session怎么用~ 一.下载安装 pip install flask-session 二.导入并实例化 def create_app(): app = Flask(__name__)

87、flask之flask-script组件

Flask Script扩展提供向Flask插入外部脚本的功能,包括运行一个开发用的服务器,一个定制的Python shell,设置数据库的脚本,cronjobs,及其他运行在web应用之外的命令行任务:使得脚本和系统分开: Flask Script和Flask本身的工作方式类似,只需定义和添加从命令行中被Manager实例调用的命令: 官方文档:http://flask-script.readthedocs.io/en/latest/ 1.创建并运行命令 首先,创建一个Python模板运行命令

Flask自带的常用组件介绍

Flask的优点是灵活小巧,三行代码即可运行一个web服务器,但基于Flask构建的功能并不比Django弱,关键就就是除了flask自带的基础功能外,还有丰富的组件进行支持,本文先对常用的自带组件进行简单的介绍.测试的Flask版本是0.12. Flask自带组件 在构建Flask应用导入的时候,通常是from flask import Flask的方式开始的,说明flask这个python package里面应该还藏了不少好东西,从源码来看看: from werkzeug.exception

Flask组件 flask_session

flask-session是flask框架的session组件,由于原来flask内置session使用签名cookie保存,该组件则将支持session保存到多个地方,如: redis memcached filesystem mongodb sqlalchmey 安装 pip3 install flask-session 存储方式 redis #!/usr/bin/env python # -*- coding:utf-8 - import redis from flask import F

Flask 【第八篇】flask-session组件

简介 flask-session是flask框架的session组件,由于原来flask内置session使用签名cookie保存,该组件则将支持session保存到多个地方,如: redis:保存数据的一种工具,五大类型.非关系型数据库 memcached filesystem mongodb sqlalchmey:那数据存到数据库表里面 安装 pip3 install flask-session 存储方式 redis #!/usr/bin/env python # -*- coding:ut

Flask中的session ,自定义实现 session机制, 和 flask-session组件

session 是基于cookie实现, 保存在服务端的键值对(形式为 {随机字符串:‘xxxxxx’}), 同时在浏览器中的cookie中也对应一相同的随机字符串,用来再次请求的 时候验证: 注意 :Flask中的session是存在浏览器中 默认key是session(加密的cookie), 也可以像Django一样基于上述的方式实现保存在数据库 1 flask中 session的基本概念 flask 有一个 session 对象.它允许你在不同请求间存储特定用户的信息.它是在 Cookie

Flask学习【第8篇】:flask-session组件

简介 flask-session是flask框架的session组件,由于原来flask内置session使用签名cookie保存,该组件则将支持session保存到多个地方,如: redis:保存数据的一种工具,五大类型.非关系型数据库 memcached filesystem mongodb sqlalchmey:那数据存到数据库表里面 安装 pip3 install flask-session 存储方式 redis #!/usr/bin/env python # -*- coding:ut