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

相关文章
|
JSON 前端开发 API
使用Python和Flask构建简易Web API
使用Python和Flask构建简易Web API
1325 86
|
JSON API 数据格式
使用Python和Flask构建简单的Web API
使用Python和Flask构建简单的Web API
|
开发框架 前端开发 JavaScript
利用Python和Flask构建轻量级Web应用的实战指南
利用Python和Flask构建轻量级Web应用的实战指南
1239 2
|
JSON API 数据格式
如何使用Python和Flask构建一个简单的RESTful API。Flask是一个轻量级的Web框架
本文介绍了如何使用Python和Flask构建一个简单的RESTful API。Flask是一个轻量级的Web框架,适合小型项目和微服务。文章从环境准备、创建基本Flask应用、定义资源和路由、请求和响应处理、错误处理等方面进行了详细说明,并提供了示例代码。通过这些步骤,读者可以快速上手构建自己的RESTful API。
1029 2
|
JSON API 数据格式
构建RESTful APIs:使用Python和Flask
构建RESTful APIs:使用Python和Flask
272 1
|
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方面的优势。
215 1
|
JSON API 数据格式
构建RESTful APIs:使用Python和Flask
【10月更文挑战第10天】本文介绍了如何使用Python和Flask构建一个简单的RESTful API。Flask是一个轻量级的Web应用框架,适合小型项目和微服务。文章从环境准备、创建基本Flask应用、定义资源和路由、请求和响应处理、错误处理等方面进行了详细说明,并提供了代码示例。通过这些步骤,读者可以快速掌握使用Flask构建RESTful API的方法。
285 1
|
数据库 开发者 Python
使用Python和Flask构建Web应用
【10月更文挑战第2天】使用Python和Flask构建Web应用
315 2
|
iOS开发 MacOS Python
Python编程小案例—利用flask查询本机IP归属并输出网页图片
Python编程小案例—利用flask查询本机IP归属并输出网页图片
332 1

推荐镜像

更多