学习内容:①判断请求方式(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表单验证的更多相关文章

  1. flask框架(八)—自定义命令flask-script、多app应用、wtforms表单验证、SQLAIchemy

    自定义命令flask-script 用于实现类似于django中 python3 manage.py runserver ...类似的命令,用命令行启动项目 首先安装:pip3 install fla ...

  2. flask提交表单验证不通过,以及CSRF攻击原理

    学习表单的问题1. 提交表单时怎么都无法验证通过 记录一下,自己的学习bug,主要是因为在模板中书写渲染的语句时,把CSRF的字段名写错了. 因为在模板中书写一些语句是没有提示的,自己手动敲代码容易出 ...

  3. Django实现表单验证、CSRF、cookie和session、缓存、数据库多表操作(双下划綫)

    通常验证用户输入是否合法的话,是前端js和后端共同验证的,这是因为前端js是可以被禁用的,假如被禁用了,那就没法用js实现验证合法与否了,也就是即使用户输入的不合法,但是也没提示,用户也不知道怎么输入 ...

  4. flask表单,orm,csrf

    flask表单是flask中最基本的功能. 它是负责HTML页面中数据采集的部分,它由三部分组成:表单标签,表单域,表单按钮组成,通过表单用户输入的数据提交给服务器. flask表单封装了WTForm ...

  5. Flask10 登录模块、表单框架、表单渲染、表单验证、bookie、请求之前钩子、g对象、编写装饰器

    from flask import Flask from flask import request from flask import render_template from flask_wtf i ...

  6. Form表单验证组件

    Tyrion是一个基于Python实现的支持多个WEB框架的Form表单验证组件,其完美的支持Tornado.Django.Flask.Bottle Web框架.Tyrion主要有两大重要动能: 表单 ...

  7. 五十二:WTForms表单验证之基本使用

    作用:1.做表单验证,把用户提交的数据验证是否合法2.做模板渲染 安装:pip install wtforms 表单验证1.自定义一个表单类,继承wtforms.Form2.定义好需要验证的字段,字段 ...

  8. 测开之路一百四十八:WTForms表单验证

    使用WTForms表单验证,可以在数据建模时就设置验证信息和错误提示 创建模型时,设置验证内容,如必填.格式.长度 from flask_wtf import Formfrom wtforms imp ...

  9. WTF表单验证

    WTF表单验证可分为3个步骤: ①导入wtf扩展提供的表单验证器.(from wtforms.validators import DataRequired,EqualTo) ②定义表单类 # 定义表单 ...

随机推荐

  1. C#编写一个简易的文件管理器

    编写一个简易的文件管理器,通过本次实验,练习 TreeView.ListView 和SplitContainer 控件的使用,同时熟悉 C#文件系统的操作方法以及 File 类和 Directory类 ...

  2. PAT B1013 数素数

    输入样例: 5 27   输出样例: 11 13 17 19 23 29 31 37 41 43 47 53 59 61 67 71 73 79 83 89 97 101 103 解题思路: 从2开始 ...

  3. 修改Menu_item的字体属性

    前面一直在找 MenuItem的文字颜色的设置.我发现API中只有背景颜色的设置... 所以找到下面的方法.在OverFlow上看到的.在onCreateOptionsMenu中覆写一下, 使Menu ...

  4. xpath 获取meta里的keywords及description的方法

    html中的head的meta元素中的keywords与description标签如下: <meta name="keywords" content="xxxx&q ...

  5. java_抽象类和接口

    1.抽象类: 1.抽象类之所以被称为抽象类,就是因为它包含有抽象方法,只要含有抽象方法的类就叫抽象类. 2.抽象类中可以没有抽象方法,也可以抽象方法和非抽象方法共存. 3.抽象类和类一样是单继承的. ...

  6. Windows下安装mysql(非安装包)

    Windows下安装mysql(非安装包) 参考:https://www.cnblogs.com/yunlongaimeng/p/12558638.html 1.下载MYSQL(慢的话可以用迅雷,或其 ...

  7. 基础设施即代码(IAC),Zalando Postgres Operator UI 入门

    Postgres Operator UI 提供了一个图形界面,方便用户体验数据库即服务.一旦 database 和/或 Kubernetes (K8s) 管理员设置了 operator,其他团队就很容 ...

  8. Java语言学习day33--8月8日

    今日内容介绍1.基本类型包装类2.System类3.Math类4.Arrays类5.大数据运算 ###01基本数据类型对象包装类概述 *A:基本数据类型对象包装类概述 *a.基本类型包装类的产生 在实 ...

  9. 关于Swagger优化

    背景 尽管.net6已经发布很久了,但是公司的项目由于种种原因依旧基于.net Framework.伴随着版本迭代,后端的api接口不断增多,每次在联调的时候,前端开发叫苦不迭:"小胖,你们 ...

  10. linux脚本执行jar包运行

    以下为linux下运行jar包的脚本(只需替换jar包名称): #!/bin/bash #这里可替换为你自己的执行程序,其他代码无需更改 APP_NAME=ruoyi-admin.jar cd `di ...