Flask框架学习笔记之使用Flask实现表单开发详解


Posted in Python onAugust 12, 2019

本文实例讲述了使用Flask实现表单开发。分享给大家供大家参考,具体如下:

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>Title</title>
</head>
<body>
  <div align="center">
  <h1>User Management</h1>
  <form method="post">
    <input type="text" name="username" placeholder="username" />
    <br>
    <input type="password" name="password" placeholder="password" />
    <br>
    <input type="submit" value="Submit">
    <input type="reset" value="Reset">
  </form>
  </div>
</body>
</html>

使用html实现的表单:

Flask框架学习笔记之使用Flask实现表单开发详解

用flask实现相同功能的表单:

# -*- coding:utf-8 -*-
from flask import Flask, request, render_template, redirect
from wtforms import Form, TextField, PasswordField, validators
app = Flask(__name__)
class LoginForm(Form):
  # validators指定一个由验证函数组成的列表
  # 在接受用户提交的数据之前验证数据
  # 验证函数Required()确保提交的字段不为空
  username = TextField("username", [validators.Required()])
  password = PasswordField("password", [validators.Required()])
# 定义user路由
@app.route("/user", methods=['GET', 'POST'])
def login():
  myForm = LoginForm(request.form)
  if request.method == 'POST':
    # username = request.form['username']使用request获取数据
    # password = request.form['password']
    # 也可以使用类实例里的表单方法来获取相应的数据
    # validate来验证输入的表单数据是否有效
    if myForm.username.data == "loli" and myForm.password.data == "520" and myForm.validate():
      return redirect("http://www.baidu.com")
    else:
      message = "Login Failed"
      return render_template("form1.html", message=message, form=myForm)
  return render_template("form1.html", form=myForm)
if __name__ == '__main__':
  app.run()

form1模板:

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>Title</title>
</head>
<body>
  <div align="center">
  <h1>User Management</h1>
  <form method="post">
    {% if message %}
      {{ message }}
    {% endif %}
    <br>
    {{ form.username }}
    <br>
    {{ form.password }}
    <br>
    <input type="submit" value="Submit">
    <input type="reset" value="Reset">
  </form>
  </div>
</body>
</html>

Flask框架学习笔记之使用Flask实现表单开发详解

一样的效果图。

在WTForm3.0中Textfield被移除,使用Stringfield代替。

WTForm主要在flask中用于验证表单。

参考官方文档:http://dormousehole.readthedocs.io/en/latest/patterns/wtforms.html

希望本文所述对大家基于flask框架的Python程序设计有所帮助。

Python 相关文章推荐
Python使用SocketServer模块编写基本服务器程序的教程
Jul 12 Python
centos6.7安装python2.7.11的具体方法
Jan 16 Python
python的dataframe转换为多维矩阵的方法
Apr 11 Python
Python实现的计算器功能示例
Apr 26 Python
python中datetime模块中strftime/strptime函数的使用
Jul 03 Python
详解Python最长公共子串和最长公共子序列的实现
Jul 07 Python
python实现泊松图像融合
Jul 26 Python
Django uwsgi Nginx 的生产环境部署详解
Feb 02 Python
python 实现读取一个excel多个sheet表并合并的方法
Feb 12 Python
python requests指定出口ip的例子
Jul 25 Python
python用线性回归预测股票价格的实现代码
Sep 04 Python
matplotlib之多边形选区(PolygonSelector)的使用
Feb 24 Python
Flask框架学习笔记之表单基础介绍与表单提交方式
Aug 12 #Python
python内存管理机制原理详解
Aug 12 #Python
Flask框架学习笔记之路由和反向路由详解【图文与实例】
Aug 12 #Python
python实现图片压缩代码实例
Aug 12 #Python
django与vue的完美结合_实现前后端的分离开发之后在整合的方法
Aug 12 #Python
一行Python代码过滤标点符号等特殊字符
Aug 12 #Python
一篇文章弄懂Python中的可迭代对象、迭代器和生成器
Aug 12 #Python
You might like
资料注册后发信小技巧
2006/10/09 PHP
php实例分享之二维数组排序
2014/05/15 PHP
PHP检测数据类型的几种方法(总结)
2017/03/04 PHP
laravel ORM关联关系中的 with和whereHas用法
2019/10/16 PHP
JS处理VBArray的函数使用说明
2008/05/11 Javascript
jquery+css+ul模拟列表菜单具体实现思路
2013/04/15 Javascript
原生JS绑定滑轮滚动事件兼容常见浏览器
2014/06/30 Javascript
js实现Select头像选择实时预览代码
2015/08/17 Javascript
jquery实现图片上传前本地预览功能
2016/05/10 Javascript
AngularJS入门教程之双向绑定详解
2016/08/18 Javascript
Javascript获取background属性中url的值
2016/10/17 Javascript
使用vue制作FullPage页面滚动效果
2017/08/21 Javascript
JS实现的进制转换,浮点数相加,数字判断操作示例
2019/11/09 Javascript
Vue路由权限控制解析
2020/11/09 Javascript
python 正则式 概述及常用字符
2009/05/07 Python
Python中使用动态变量名的方法
2014/05/06 Python
Python编程中用close()方法关闭文件的教程
2015/05/24 Python
浅析PEP570新语法: 只接受位置参数
2019/10/15 Python
python3 实现口罩抽签的功能
2020/03/11 Python
详解Tensorflow不同版本要求与CUDA及CUDNN版本对应关系
2020/08/04 Python
如何从csv文件构建Tensorflow的数据集
2020/09/21 Python
css3.0 图形构成实例练习二
2013/03/19 HTML / CSS
CSS3盒子模型详解
2013/04/24 HTML / CSS
html5 figure和figcaption的使用方法
2018/09/10 HTML / CSS
学生励志演讲稿
2014/01/06 职场文书
学习新党章思想汇报
2014/01/09 职场文书
金融学专科生自我鉴定
2014/02/21 职场文书
雷锋精神演讲稿
2014/05/13 职场文书
办公室领导干部作风整顿个人整改措施
2014/09/17 职场文书
邀请函模板
2015/02/02 职场文书
2015年收银工作总结范文
2015/04/01 职场文书
小学安全工作总结2015
2015/05/18 职场文书
正规欠条模板
2015/07/03 职场文书
高一语文教学反思
2016/02/16 职场文书
MySQL 8.0 之不可见列的基本操作
2021/05/20 MySQL
德劲DE1102数字调谐收音机机评
2022/04/07 无线电