Flask表单验证
学习内容:①判断请求方式(request.method)
from flask import Flask,render_template,request
app = Flask(__name__)
@app.route('/',methods=['GET','POST'])
def hello_world():
# 判断请求方式
if request.method=='POST':
return render_template('index.html')
if __name__ == '__main__':
app.run()
②获取表单信息(request.form.get())
from flask import Flask,render_template,request
app = Flask(__name__)
@app.route('/',methods=['GET','POST'])
def hello_world():
# 判断请求方式
if request.method=='POST':
#获取请求参数
username=request.form.get('username')
password=request.form.get('password')
password2=request.form.get('password2')
print('username:',username)
print('password:',password)
print('password2:',password2)
return 'success'
return render_template('index.html')
if __name__ == '__main__':
app.run()
③判断表但是否填写完整(if not all())
from flask import Flask,render_template,request
app = Flask(__name__)
@app.route('/',methods=['GET','POST'])
def hello_world():
# 判断请求方式
if request.method=='POST':
#获取请求参数
username=request.form.get('username')
password=request.form.get('password')
password2=request.form.get('password2')
print('username:',username)
print('password:',password)
print('password2:',password2)
# 判断表但是否填完整
if not all([username,password,password2]):
print("表单未填完整")
return 'success'
return render_template('index.html')
if __name__ == '__main__':
app.run()
④判断两次输入密码是否一致
from flask import Flask,render_template,request
app = Flask(__name__)
@app.route('/',methods=['GET','POST'])
def hello_world():
# 判断请求方式
if request.method=='POST':
#获取请求参数
username=request.form.get('username')
password=request.form.get('password')
password2=request.form.get('password2')
print('username:',username)
print('password:',password)
print('password2:',password2)
# 判断表但是否填完整
if not all([username,password,password2]):
print("表单未填完整")
# 判断两次密码是否一致
if password!=password2:
print("两次密码不一致,请重新输入!")
return 'success'
return render_template('index.html')
if __name__ == '__main__':
app.run()
完整代码:
app.py:
from flask import Flask,render_template,request
app = Flask(__name__)
@app.route('/',methods=['GET','POST'])
def hello_world():
# 判断请求方式
if request.method=='POST':
#获取请求参数
username=request.form.get('username')
password=request.form.get('password')
password2=request.form.get('password2')
print('username:',username)
print('password:',password)
print('password2:',password2)
# 判断表但是否填完整
if not all([username,password,password2]):
print("表单未填完整")
# 判断两次密码是否一致
if password!=password2:
print("两次密码不一致,请重新输入!")
return 'success'
return render_template('index.html')
if __name__ == '__main__':
app.run()
index.html:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<form method="post" action="/">
<label> 账号:</label><input type="text" name="username"><br>
<label> 密码:</label><input type="password" name="password"><br>
<label> 确认密码:</label><input type="password" name="password2"><br>
<input type="submit" name="submit" value="登录">
<input type="reset" name="reset" value="重置">
</form>
</body>
</html>
运行截图:


Flask表单验证的更多相关文章
- flask框架(八)—自定义命令flask-script、多app应用、wtforms表单验证、SQLAIchemy
自定义命令flask-script 用于实现类似于django中 python3 manage.py runserver ...类似的命令,用命令行启动项目 首先安装:pip3 install fla ...
- flask提交表单验证不通过,以及CSRF攻击原理
学习表单的问题1. 提交表单时怎么都无法验证通过 记录一下,自己的学习bug,主要是因为在模板中书写渲染的语句时,把CSRF的字段名写错了. 因为在模板中书写一些语句是没有提示的,自己手动敲代码容易出 ...
- Django实现表单验证、CSRF、cookie和session、缓存、数据库多表操作(双下划綫)
通常验证用户输入是否合法的话,是前端js和后端共同验证的,这是因为前端js是可以被禁用的,假如被禁用了,那就没法用js实现验证合法与否了,也就是即使用户输入的不合法,但是也没提示,用户也不知道怎么输入 ...
- flask表单,orm,csrf
flask表单是flask中最基本的功能. 它是负责HTML页面中数据采集的部分,它由三部分组成:表单标签,表单域,表单按钮组成,通过表单用户输入的数据提交给服务器. flask表单封装了WTForm ...
- Flask10 登录模块、表单框架、表单渲染、表单验证、bookie、请求之前钩子、g对象、编写装饰器
from flask import Flask from flask import request from flask import render_template from flask_wtf i ...
- Form表单验证组件
Tyrion是一个基于Python实现的支持多个WEB框架的Form表单验证组件,其完美的支持Tornado.Django.Flask.Bottle Web框架.Tyrion主要有两大重要动能: 表单 ...
- 五十二:WTForms表单验证之基本使用
作用:1.做表单验证,把用户提交的数据验证是否合法2.做模板渲染 安装:pip install wtforms 表单验证1.自定义一个表单类,继承wtforms.Form2.定义好需要验证的字段,字段 ...
- 测开之路一百四十八:WTForms表单验证
使用WTForms表单验证,可以在数据建模时就设置验证信息和错误提示 创建模型时,设置验证内容,如必填.格式.长度 from flask_wtf import Formfrom wtforms imp ...
- WTF表单验证
WTF表单验证可分为3个步骤: ①导入wtf扩展提供的表单验证器.(from wtforms.validators import DataRequired,EqualTo) ②定义表单类 # 定义表单 ...
随机推荐
- css中几个重要概念
替换元素与非替换元素 替换元素:是指浏览器根据元素的标签和属性来决定元素的具体内容. 例如"<img src="xx.jpg">浏览器会根据标签的src属性的 ...
- 一个很好用的 vue-picker组件
vue-picker a picker componemt for vue2.0 走了一圈 github 都没有找到自己想要的移动端的 vue-picker的组件,于是自己就下手,撸了一个出来,感受下 ...
- vue2实现搜索结果中的搜索关键字高亮
// 筛选变色 brightenKeyword(val, keyword) { val = val + ''; if (val.indexOf(keyword) !== -1 && k ...
- 【前端Talkking】CSS系列——CSS深入理解之line-height
1.写在前面 两个多周的时间没有写文章了,手好痒好痒,趁着公司在装修,从上周末到本周都在家办公,同时公司的项目并不紧急,于是抽着时间梳理了一下CSS中关于行高line-height的理解,今天发布出来 ...
- EMS邮箱数据库常用命令(一)
案例任务:创建名为"book"的邮箱数据库,数据库文件和日志文件存储位置为"c:\book". 键入以下命令. New-MailboxDatabase -Nam ...
- C语言 之 多线程编程
一.基础知识 计算机的核心是CPU,承担了所有的计算任务. 操作系统是计算机的管理者,负责任务的调度.资源的分配和管理,统领整个计算机硬件. 应用程序则是具有某种功能的程序,程序是运行于操作系统之上的 ...
- caioj 1031: [视频]递归1(全排列)【DFS】【全排列】
题目大意:先给一个正整数 n( 1 < = n < = 10 ),输出1到n的所有全排列. 题解:这道题目我们可以用递归来实现,递归在图论中又称为"深度优先搜索"(De ...
- SSRF——介绍利用(不全)
1. SSRF介绍 SSRF(Server-side Request Forge, 服务端请求伪造). 由攻击者构造的攻击链接传给服务端执行造成的漏洞,一般用来在外网探测或攻击内网服务. 2. SSR ...
- python---用顺序表实现队列
class Queue(object): """队列""" def __init__(self): self.__list = [] def ...
- Spring Boot配置druid监控页功能
1.导入坐标 <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http ...