Python编程:Flask表单扩展Flask-WTF

简介: Python编程:Flask表单扩展Flask-WTF

表单扩展 Flask-WTF

文档: https://flask-wtf.readthedocs.io/en/stable/

安装

pip install Flask-WTF

可以进行csrf验证


代码示例

1、定义模型类 视图使用

from flask import (
    Flask,
    render_template,
    session,
    url_for,
    redirect
)
from flask_wtf import FlaskForm
from wtforms import StringField, SubmitField, PasswordField
from wtforms.validators import DataRequired, EqualTo
app = Flask(__name__)
app.secret_key = "1231safdasdf"
class RegisterForm(FlaskForm):
    #                         标签           验证器
    user_name = StringField(label="用户名", validators=[DataRequired("用户名不能为空")])
    password = PasswordField(label="密码", validators=[DataRequired("密码不能为空")])
    re_password = PasswordField(label="密码", validators=[DataRequired("密码不能为空"),
                                                        EqualTo("password", "两次密码不一致")])
    submit = SubmitField(label="提交")
@app.route("/register", methods=["GET", "POST"])
def register():
    # 如果是POST提交,前端数据会放到form对象中
    form = RegisterForm()
    # 验证数据,验证合格后再进行操作
    if form.validate_on_submit():
        username = form.user_name.data
        pwd = form.password.data
        re_pwd = form.re_password.data
        session["user_name"] = username
        return redirect(url_for("index"))
    return render_template("register.html", form=form)
@app.route("/")
def index():
    username = session.get("user_name")
    return "注册成功:username: {}".format(username)
if __name__ == '__main__':
    app.run()

2、模板使用


<form action="" method="POST">

   {{ form.csrf_token }}


   {{ form.user_name.label }}

   <p>{{ form.user_name }}</p>

   {% for msg in form.user_name.errors %}

   <p>{{ msg }}</p>

   {% endfor %}


   {{ form.password.label }}

   <p>{{ form.password }}</p>

   {% for msg in form.password.errors %}

   <p>{{ msg }}</p>

   {% endfor %}


   {{ form.re_password.label }}

   <p>{{ form.re_password }}</p>

   {% for msg in form.re_password.errors %}

   <p>{{ msg }}</p>

   {% endfor %}


   {{ form.submit }}

</form>


1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

渲染效果

image.png

相关文章
|
4月前
|
SQL 数据库 开发者
Python中使用Flask-SQLAlchemy对数据库的增删改查简明示例
这样我们就对Flask-SQLAlchemy进行了一次简明扼要的旅程,阐述了如何定义模型,如何创建表,以及如何进行基本的数据库操作。希望你在阅读后能对Flask-SQLAlchemy有更深入的理解,这将为你在Python世界中从事数据库相关工作提供极大的便利。
475 77
|
8月前
|
安全 前端开发 数据库
Python 语言结合 Flask 框架来实现一个基础的代购商品管理、用户下单等功能的简易系统
这是一个使用 Python 和 Flask 框架实现的简易代购系统示例,涵盖商品管理、用户注册登录、订单创建及查看等功能。通过 SQLAlchemy 进行数据库操作,支持添加商品、展示详情、库存管理等。用户可注册登录并下单,系统会检查库存并记录订单。此代码仅为参考,实际应用需进一步完善,如增强安全性、集成支付接口、优化界面等。
|
10月前
|
JSON 前端开发 API
使用Python和Flask构建简易Web API
使用Python和Flask构建简易Web API
552 3
|
10月前
|
存储 API 数据库
使用Python和Flask构建简单的RESTful API
使用Python和Flask构建简单的RESTful API
194 2
|
10月前
|
JSON 关系型数据库 测试技术
使用Python和Flask构建RESTful API服务
使用Python和Flask构建RESTful API服务
451 2
|
10月前
|
JSON API 数据格式
使用Python和Flask构建简单的Web API
使用Python和Flask构建简单的Web API
|
10月前
|
开发框架 前端开发 JavaScript
利用Python和Flask构建轻量级Web应用的实战指南
利用Python和Flask构建轻量级Web应用的实战指南
582 2
|
10月前
|
JSON API 数据格式
如何使用Python和Flask构建一个简单的RESTful API。Flask是一个轻量级的Web框架
本文介绍了如何使用Python和Flask构建一个简单的RESTful API。Flask是一个轻量级的Web框架,适合小型项目和微服务。文章从环境准备、创建基本Flask应用、定义资源和路由、请求和响应处理、错误处理等方面进行了详细说明,并提供了示例代码。通过这些步骤,读者可以快速上手构建自己的RESTful API。
586 2
|
10月前
|
JSON API 数据格式
构建RESTful APIs:使用Python和Flask
构建RESTful APIs:使用Python和Flask
98 1
|
11月前
|
JSON API 数据格式
构建RESTful APIs:使用Python和Flask
【10月更文挑战第12天】本文介绍了如何使用Python和Flask构建一个简单的RESTful API。首先概述了API的重要性及RESTful API的基本概念,接着详细讲解了Flask框架的特性和安装方法。通过创建一个基本的Flask应用,定义了处理“图书”资源的GET、POST、PUT和DELETE方法的路由,展示了如何处理请求和响应,以及如何进行错误处理。最后,提供了运行和测试API的方法,总结了Flask在构建RESTful API方面的优势。
89 1

推荐镜像

更多