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) ②定义表单类 # 定义表单 ...
随机推荐
- python-正整数的因子展开式
[题目描述]编写程序,输出一个给定正整数x(x>1)的质因子展开式. [输入格式]请在一行中输入整数x的值. [输出格式]对每一组输入的x,按以下格式输出x的质因子展开式(假如x的质因子分别为a ...
- Java/C++实现代理模式---婚介所
婚介所其实就是找对象的一个代理,请仿照我们的课堂例子"论坛权限控制代理"完成这个实际问题,其中如果年纪小于18周岁,婚介所会提示"对不起,不能早恋!",并终止业 ...
- ubantu之Git使用
本文讲述在Ubuntu 14.04 x64环境下,如何安装Git,配置连接GitHub,并且上传本地代码到github. 一. 注册Git账户以及创建仓库 要想使用github第一步当然是注册gith ...
- HashMap和ConcurrentHashMap的原理和实现
一.线程不安全的HashMap 多线程环境下,使用HashMap进行put操作会引起死循环(jdk1.7 Entry链表形成环形数据结构),导致CPU利用率接近100%. 结构:数组 table[]+ ...
- ztree详解
1.添加样式.js <link rel="stylesheet" href="${ctx}/hollybeacon/resources/plugins/zTree_ ...
- 《头号玩家》AI电影调研报告(二)
四. 涉及前沿技术及与现实的交互 1.VR技术 在影片中,斯皮尔伯格用他认为未来的VR虚拟技术为我们创造了众多精彩的画面,令人佩服其对科技的预见性.其中好多的装备特别引人注目,部分也在现实中存在:VR ...
- SpringMVC获取请求参数-基本类型
1.Controller中的业务方法的参数名称要与请求参数的name一致,参数值会自动映射匹配 (json形式) <dependency> <groupId>com.faste ...
- 记录:替换线上springboot项目可执行jar包中依赖jar里的class文件
问题背景: 项目组发现线上版本问题后,定位是由于项目依赖的某个jar包中有个小BUG. 解决方案: 在修改了对应的java文件后,编译出对应的class文件.从生产环境下载项目jar包,解压后,找到对 ...
- vue预渲染及其cdn配置
VUE SEO方案一 - 预渲染及其cdn配置 项目接入VUE这样的框架后,看起来真是太漂亮了,奈何与MCV框架比起来,单页应用程序却满足不了SEO的业务需求,首屏渲染时间也是个问题.总不能白学VUE ...
- Codeforces Round #767 (Div. 2)——B. GCD Arrays
B. GCD Arrays 题源:https://codeforces.com/contest/1629/problem/B 题目大意 给出一段区间[l, r],可以进行操作(把任意两个数拿出来,把他 ...