优草派 > Python

在Python的Flask中使用WTForms表单框架的基础教程

赵文博         优草派

在使用Python的Web框架Flask进行Web开发时,利用WTForms表单框架可以更轻松地实现表单提交与验证。WTForms是一种支持Python的表单验证和渲染库,它提供了字段验证、防止跨站脚本攻击等功能。本文将为大家详细介绍如何使用WTForms表单框架。

在Python的Flask中使用WTForms表单框架的基础教程

一、安装WTForms:

在安装WTForms前,先要确认是否已经安装Python。打开终端或控制台,输入以下命令:

pip install WTForms

二、创建Flask的应用:

在创建Flask应用前,建议先创建虚拟环境,这样可以更好地控制依赖库的版本。下面是一个简单的Flask应用程序:

from flask import Flask, render_template, request

app = Flask(__name__)

@app.route('/')

def index():

return render_template('index.html')

if __name__ == '__main__':

app.run()

三、创建表单类:

有了Flask的应用程序之后,下一步就是创建表单类。WTForms提供了PasswordField、SubmitField、TextField等字段,还可以自定义字段。

from flask_wtf import FlaskForm

from wtforms import StringField, PasswordField, SubmitField

from wtforms.validators import Required

class LoginForm(FlaskForm):

username = StringField('Username', validators=[Required()])

password = PasswordField('Password', validators=[Required()])

submit = SubmitField('Submit')

这里创建了一个名为LoginForm的表单类,包含了用户名、密码和提交按钮。StringField、PasswordField、SubmitField都是WTForms中预定义的字段类型,validators用来定义该字段的验证规则。

四、渲染表单:

将表单渲染到HTML模板中,用户就可以通过这个表单提交数据了。下面是一个简单的HTML模板:

{% extends 'base.html' %}

{% block content %}

{{ form.csrf_token }}

{{ form.username.label }} {{ form.username() }}

{{ form.password.label }} {{ form.password() }}

{{ form.submit() }}

{% endblock %}

这里使用了Flask中的模板引擎Jinja2,可以方便地嵌入表单。{{ form.csrf_token }}用来防止跨站伪造请求攻击。{{ form.username.label }}用来显示‘Username’, {{ form.username() }}用来显示输入框。

五、处理表单:

有了表单之后,就需要处理表单提交的数据了。下面是一个简单的处理数据的方式:

@app.route('/login', methods=['GET', 'POST'])

def login():

form = LoginForm()

if request.method == 'POST':

if form.validate_on_submit():

return 'Hello ' + form.username.data + '!'

return render_template('login.html', form=form)

这里创建了一个/login的路由,用来处理表单提交的数据。使用request对象获取请求方法,如果请求方法是post并且表单验证通过,就返回一个欢迎信息,否则就重新渲染login.html。

WTForms表单框架是一个非常方便的库,可以使Flask开发更加快速、稳定和安全。本文介绍了WTForms表单框架的基本用法,供大家参考。

  • 微信好友

  • 朋友圈

  • 新浪微博

  • QQ空间

  • 复制链接

取消
5天短视频训练营
新手入门剪辑课程,零基础也能学
分享变现渠道,助你兼职赚钱
限时特惠:0元
立即抢
新手剪辑课程 (精心挑选,简单易学)
第一课
新手如何学剪辑视频? 开始学习
第二课
短视频剪辑培训班速成是真的吗? 开始学习
第三课
不需要付费的视频剪辑软件有哪些? 开始学习
第四课
手机剪辑app哪个好? 开始学习
第五课
如何做短视频剪辑赚钱? 开始学习
第六课
视频剪辑接单网站APP有哪些? 开始学习
第七课
哪里可以学短视频运营? 开始学习
第八课
做短视频运营需要会什么? 开始学习
【原创声明】凡注明“来源:优草派”的文章,系本站原创,任何单位或个人未经本站书面授权不得转载、链接、转贴或以其他方式复制发表。否则,本站将依法追究其法律责任。

客服热线:0731-85127885

湘ICP备19005950号-1  

工商营业执照信息

违法和不良信息举报

举报电话:0731-85127885 举报邮箱:tousu@csai.cn

优草派  版权所有 © 2024