wtforms 简单使用
2024-09-05 12:23:24
from flask import Flask,request,render_template
from wtforms import Form,StringField
from wtforms import validators
from wtforms.validators import Length,EqualTo class RegisterForm(Form):
username = StringField(validators=[Length(max=10,min=3,message='用户名长度不正确')])
password = StringField(validators=[Length(max=10,min=3,message='密码长度不正确')])
password_repeat = StringField(validators=[Length(max=10,min=3,message='密码长度不正确'),EqualTo('password')]) app = Flask(__name__) @app.route('/')
def hello_world():
return 'Hello World!' @app.route('/register/',methods=['get','post'])
def register():
if request.method == 'GET':
return render_template('register.html')
else:
# username = request.form.get('username')
# password = request.form.get('password')
# password_repeat = request.form.get('password_repeat')
# if 3 > len(username) or len(username)> 10:
# return '用户名长度不正确'
# if 3 > len(password) or len(password)> 10:
# return '密码长度不正确'
# if password != password_repeat:
# return '密码输入不一致'
form = RegisterForm(request.form)
if form.validate():
return 'success'
else:
print(form.errors)#{'username': ['用户名长度不正确'],
# 'password': ['密码长度不正确'], 'password_repeat': ['密码长度不正确']}
#因为是字典,获取方式我就不写了
return 'fail' if __name__ == '__main__':
app.run(debug=True)
最新文章
- tomcat配置
- 应用程序框架实战二十二 : DDD分层架构之仓储(层超类型基础篇)
- mysql5.7.1 zip版本安装记录
- Linux上USB移植错误解决笔记
- Android 数据存储五种方式
- Android View各种尺寸位置相关的方法探究
- IOS网络第二天 - 02-异步HTTP请求block回调 解析
- CSS 3 选择器
- [Linux] Linux进程PID散列表
- Hibernate 插入,修改,删除,查询语句
- 【九度OJ】题目1009-二叉搜索树
- C# 深复制
- C# 分页
- UOJ Round #1 [数论 | DP 排列]
- <;%@ Register TagPrefix=";uc1"; TagName=";user"; Src=";../Control/user.ascx"; %>;什么意思?
- django 问题综合
- Vue (二) --- Vue对象提供的属性功能
- 关于ico图标
- 理解去中心化 稳定币 DAI
- QWaiteCondition思考3
热门文章
- 【Winform-自定义控件】可以使用2种半透明的颜色来填充Button
- 【C#-文件管理】 判断文件夹或文件是否存在,并创建文件夹或文件
- 编译原理--02 自顶向下、自底向上的LR分析复习(清华大学出版社第3版)
- luoguP1160 队列安排 x
- noi.ac#458 sequence
- PTA 重构二叉树
- [CSP-S模拟测试]:地理课(并查集+线段树分治)
- vue-loader+webpack配置项目流程
- java 百度地图判断两点距离1
- LC 539. Minimum Time Difference