Flask-WTF 示例
Flask-WTF 示例
坑请注意
如selectField字段提示: choices not valid
area = SelectField(coerce=int)
from flask_wtf import FlaskForm
from wtforms import StringField, PasswordField
from wtforms.validators import DataRequired, Length, Email, EqualToclass UserRegisterForm(FlaskForm):username = StringField('用户名', [DataRequired('用户名必填!'), Length(min=6, max=20, message='用户名必须介于6-20字符!')])password = PasswordField('密码', [DataRequired('密码必填!'), Length(min=6, max=20, message='密码必须介于6-20字符!')])confirm = PasswordField('重复密码', [DataRequired('重复密码必填!'), EqualTo('password', message='两次密码输入不一致!')])email = StringField('邮箱', [DataRequired('邮箱必填!'), Email('邮箱格式不正确!')])
view.py
class RegView(MethodView):def get(self):form = UserRegisterForm(request.form)return render_template('register.html', form=form)def post(self):form = UserRegisterForm(request.form)if User.query.filter_by(username=form.username.data).first():flash("当前用户名已经注册!")return render_template('register.html', form=form)elif User.query.filter_by(email=form.email.data).first():flash("当前邮箱已经注册!")return render_template('register.html', form=form)else:form.validate_on_submit()user = User(form.username.data,form.password.data,form.email.data,)user.save()return redirect(url_for('.login'))
{% macro renden_field(field) %}{% if field.errors %}{% for error in field.errors %}<li style="font-size: medium">{{ error }}</li>{% endfor %}{% endif %}
{% endmacro %}{% macro messages(get_flashed_messages) %}{% with messages = get_flashed_messages() %}{% if messages %}{% for message in messages %}<div class="alert alert-danger"><a href="#" class="close" data-dismiss="alert">×</a>{{ message }}</div>{% endfor %}{% endif %}{% endwith %}
{% endmacro %}
form.html
{% from 'helper.html' import renden_field,messages %}<form action="" class="form-horizontal" method="post">{{ form.csrf_token }}{{ messages(get_flashed_messages) }}<div class="panel-body"><div class="form-group">{{ form.username.label(class="col-lg-2 col-sm-2 control-label") }}<div class="col-md-6">{{ form.username(class='from-control') }}{{ renden_field(form.username) }}</div></div><div class="form-group">{{ form.password.label(class="col-lg-2 col-sm-2 control-label") }}<div class="col-md-6">{{ form.password(class='from-control') }}{{ renden_field(form.password) }}</div></div>
Flask-WTF 示例相关推荐
- flask wtf用的多吗_WTF是Docker吗?
flask wtf用的多吗 Docker和Docker英文简要说明 内容: 什么是码头工人? 在Docker中部署Node.js应用 什么是docker compose以及如何使用? 什么是Docke ...
- 【flask】04.wtf表单的全部用法实现
学到了flask wtf 表单,网上想查看一下wtf表单的全部用法,结果都是StringFiled SubmitField PasswordField的用法, 反正都是学习,结合源码和借鉴(抄袭~~) ...
- python前端学习-------Flask框架基础(建议收藏)
Flask框架基础 下载并安装Flask框架 Flask基础 第一个Flask应用 开启调试模式 路由 变量规则 构造URL HTTP方法 模板 语法格式 模板变量 控制结构 条件控制语句 `if` ...
- python flask框架详解
Flask是一个Python编写的Web 微框架,让我们可以使用Python语言快速实现一个网站或Web服务.本文参考自Flask官方文档, 英文不好的同学也可以参考中文文档 1.安装flask pi ...
- python flask 教程_Flask 教程 第一章:Hello, World!
一趟愉快的学习之旅即将开始,跟随它你将学会用Python和Flask来创建Web应用.上面的视频包含了整个教程的内容预览(译者注:视频见原文).通过学习本章内容,你将学会如何创建一个Flask项目,并 ...
- python flask源码解析_用尽洪荒之力学习Flask源码
[TOC] 一直想做源码阅读这件事,总感觉难度太高时间太少,可望不可见.最近正好时间充裕,决定试试做一下,并记录一下学习心得. 首先说明一下,本文研究的Flask版本是0.12. 首先做个小示例,在p ...
- 用 Flask 来写个轻博客 (13) — M(V)C_WTForms 服务端表单检验
Blog 项目源码:https://github.com/JmilkFan/JmilkFan-s-Blog 目录 目录 前文列表 WTForms WTF 的基础使用 常用的字段类型 fields.Da ...
- 【Python】Flask框架系列(一):安装、页面跳转/重定向、模板、逻辑语句、过滤器、继承/使用block、url链接/加载静态资源
从下载安装开始的所有笔记. 其实 Flask 的示例程序算是 MVC 模式的. Model 是 ORM, V 是 Template, C 是 url route 和 request handler. ...
- alchemy php,Flask SQLAlchemy
在Flask Web应用程序中使用原始SQL对数据库执行CRUD操作可能很乏味. 相反,Python工具包SQLAlchemy是一个功能强大的OR映射器,为应用程序开发人员提供了SQL的全部功能和灵活 ...
- python全栈开发百度云_价值2400 2016年11月全栈开发Flask Python Web 网站编程
01-计算机基础常识.mp4 02-Python语言概览.安装与运行.mp4 03-Python 变量.数据类型及存储.mp4 04-Python 常用数据类型概览.mp4 05-数值与字符串.mp4 ...
最新文章
- 青岛大学计算机专硕和学硕,【2020】【青岛大学】【学硕646】复习经验
- python类的属性和对象属性_在python的类中动态添加属性与生成对象
- 配置文件占位符||Profile——1、多Profile文件 2、yml支持多文档块方式 3、激活指定profile
- Fabonacci三种方法求解C++
- 《经济学人》:Facebook 的 Libra 项目预示着一场消费革命
- BP: 通过SAP name拿到central person id
- DOM-7 【兼容】事件处理函数、冒泡捕获、阻止冒泡默认事件
- 【项目管理】工作分解结构WBS
- 【法克鱿】域名DNS设置修改失败!
- 小鹏汽车拟挂牌港交所 披露了一些有意思的数据
- RHEL6.3 NFS服务搭建过程详解
- R语言模拟:Bias Variance Decomposition
- 圣经中真的藏有密码吗?
- 想做一个SSL代理的集群中,有很多问题需要解决,I am all grateful to you for your advice
- 主流智能手机屏幕材质介绍
- 信息系统项目管理师之信息化与信息系统
- dowhile实现求水仙花数
- 微信小程序例子——修改小程序的标题
- 进程同步(操作系统)
- GPG生成密钥对(Windows)及应用