如何使用WTForms渲染表单?

Flask框架之WTForms(详解) Flask框架之WTForms(详解)包括:WTForms介绍和基本使用WTForms介绍基本使用WTForms表单验证的基本使用WTForms常用验证器WTForms自定义验证器场景:验证码实现WTForms渲染模版常用的方法代码示例 阅读详情

记得在之前《如何使用WTForms对表单进行验证?》一文中跟大家讲过,WTFroms不仅可以做表单验证,还可以做模板渲染,本节就为大家讲讲如何使用WTForms渲染表单?

新建一个flask_wtf_demo flask 项目,其代码如下:

from flask import Flask,render_template

app = Flask(__name__)

@app.route("/")
def index():
    return "index page"

@app.route("/login")
def login():
    return render_template("login.html")

if __name__ == "__main__":
    app.run(debug=True)

注:由于我们只做模板渲染,所以这里就不考虑POST方法。

然后在templates文件下新建一个login.html文件,其代码如下:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
<form action="" method="post">
    <table>
        <tr>
            <td>用户名</td>
            <td><input type="text" name="username"></td>
        </tr>
        <tr>
            <td><input type="submit" name="登录"></td>
        </tr>
    </table>
</form>
</body>
</html>

运行主app文件,结果如下:

然后我们在项目下新建一个forms文件,用于放表单验证代码。forms.py文件代码如下:

from wtforms import Form,StringField
from wtforms.validators import InputRequired

class LoginForm(Form):
    username = StringField(validators=[InputRequired()])

定义好了forms.py文件,我们在主app文件导入LoginForm这个类

from forms import LoginForm

然后实例化一个LoginForm对象,赋给form变量,并将其传入模板中!

@app.route("/login")
def login():
    form = LoginForm(request.form)
    return render_template("login.html",form=form)

打开login.html文件,找到下方代码:

 <td>用户名</td>
 <td><input type="text" name="username"></td>

把它替换成下面代码:

<td>{{ form.username.label }}</td>
<td>{{ form.username() }}</td>

再运行主app文件,结果如下:

结果和上面结果基本一样,唯一区别就是上面显示的是用户名,而下方却是Username,为什么会出现这样的结果呢?原因是我们没有指定这个字段label名称,它会自动采用我们forms中定义的username字段,然后将其首字母大写显示到网页中。有的人可能会问?哪我们如何使用自定义字段名字呢?方法很简单,我们在froms.py定义验证字段的时候,在前面输入自定义名称即可!代码如下:

username = StringField("请输入用户名",validators=[InputRequired()])

再运行主app文件,结果如下:

怎么样?看完觉得是不是很简单??

最后一个问题,我们这个表单界面太low了,我们要加点自定义样式(比如想给这文本框文字加个红色)怎么添加?方法如下:

1、先定义样式(这里以class选择器为例),代码如下:

.to_red{color:red;}

2、然后在 form.username()调用样式代码,代码如下:

{{ form.username(class="to_red") }}

再运行主app文件,在文本框输入文字测试一下效果:

最后的最后,总结一下用WTForms渲染模板的好处与坏处。

好处:少些代码

坏处:当网站页面需要调整、改版时,不利于web人员页面修改或样式调整

 

IDEA出现闪退或打不开的解决方法 本身项目比较大,为了打开这个软件,可调节IDEA中安装的bin目录下有个。打开IDEA的时候过一会便闪退,可以再IDEA的右下角看到如下提示。(如果没有该提示,软件右下角也会有个红色感叹号,点开查看原因即可)闪退的多数原因大致是out of memory,内存溢出。查看任务管理器中的进程:(发现内存随时有溢出的情况)但也需要注意,该参数并不是越大越好,适中即可。只有个别原因是需要管理员权限就可执行!可以尽量减少软件的启动。 阅读详情

相关推荐

手把手教你用GD32F407VET6的EXMC驱动外部SRAM,搞定大内存需求

本文详细介绍了如何使用GD32F407VET6的EXMC外设驱动外部SRAM,解决嵌入式开发中的大内存需求问题。通过硬件连接方案、EXMC时序配置与初始化步骤,以及软件集成与内存管理技巧,帮助开发者快速实现内存扩展。特别适合需要处理图形显示缓冲、音频处理等大内存场景的GD32F407开发者。

weixin_30752699的博客 346

Flask框架——Flask-WTF表单:数据验证、CSRF保护

为name添加自定义validata_%s,并传入输入值data#使用isdigit检验是否为数字开头,使用data[0]获取数据的首位raiseValidationError('用户名不能以数字开头')#若验证不通过则抛出异常这里我们为form.py表单类中的name添加自定义验证,所以自定义函数名为validate_name,如果我们为表单类中的password添加自定义验证时,自定义函数名为validate_password,也就是说自定义验证函数名要和表单类中字段名要对应。.........

霖hero 1689

PRIDE PPP-AR软件实战:从ZTD解算到PWV反演的全流程避坑指南

本文详细解析了使用PRIDE PPP-AR软件进行GNSS数据处理的全流程,重点涵盖从ZTD解算到PWV反演的关键步骤与精度评估。文章深入剖析了软件部署、数据准备、参数配置中的常见“坑点”,并提供了与IGS ZTD及ERA5产品进行交叉验证的实用方法,旨在帮助用户高效、准确地获取高精度大气可降水量产品。

p8q9r0的博客 605

WTForms 使用指南

WTForms 是一个灵活的表单处理库,专为 Python Web 开发设计。它允许开发者以声明式的方式创建表单,处理验证和数据绑定。这个库支持多种Web框架,包括 Flask 和 Django,使得表单处理变得简单而强大。WTForms 提供了丰富的字段类型、验证器以及自定义能力,是构建任何需要用户输入的应用程序时的强大工具。 ## 项目快速启动 ### 安装WTForms 首先,你需要安

gitblog_00219的博客 979

ubuntu22.04下对使用linuxdeployqt发布的qt程序进行deb打包操作

【代码】ubuntu22.04下对使用linuxdeployqt发布的qt程序进行deb打包操作。

十三阿哥的博客 1402

Linux内核驱动模型--PCIe(PCI Express)驱动​​

本文系统介绍了Linux内核中PCIe驱动的设计与实现。首先从架构定位入手,指出PCIe驱动基于PCI子系统扩展支持高速、低功耗特性。核心数据结构struct pci_driver包含设备匹配表id_table、生命周期函数probe/remove等关键组件。文章详细解析了驱动与设备的绑定流程、资源管理机制,并重点阐述了MSI-X中断、电源管理、热插拔和多队列等高级特性实现方案。最后提供了lspci、dmesg等调试工具的使用方法,总结了PCIe驱动在支持高性能设备中的关键作用。全文通过架构设计、核心结构、

amy_mhd的博客 427

Flask--wtforms快速使用和表单验证(附示例)

一、Form类   表单提供WTForms中最高级别的API。它们包含您的字段定义,委托验证,获取输入,聚合错误,并且通常用作将所有内容组合在一起的粘合剂。 classwtforms.form.Form 声明式表格基类。 __init__(formdata=None, obj=None, prefix='', data=None, meta=None, **kwargs) formd...

weixin_30617797的博客 586

python基础:工作会用到的95%的基础python代码都在这了(万字详解!)

本文是一份Python编程语言的快速参考备忘单,涵盖了Python基础语法和常用数据类型。主要内容包括:Python入门指南(打印、变量声明)、内置数据类型(字符串、数值、列表、元组、集合、字典等)、控制结构(判断、循环)、函数定义、文件处理操作以及字符串操作方法(切片、循环遍历等)。这个备忘单特别适合初学者快速查阅Python基础语法,同时也提供了数据类型转换、f-string格式化字符串等实用技巧。通过简洁的代码示例展示了Python的基本语法规则和典型用法。

数据知道的博客 8160

Flask框架【WTForms介绍和基本使用、WTForms自定义验证器、WTForms渲染模版】(八)

Flask框架【WTForms介绍和基本使用、WTForms自定义验证器、WTForms渲染模版】(八)

abc19991119的博客 1339

彻底讲透 SAP 中的 client-safe:从 CDS、AMDP 到 ABAP Cloud 的客户端隔离设计

SAP系统中的client-safe概念定义了技术边界:访问client-dependent数据的对象必须确保只看到单个client数据,而访问client-independent数据的对象则天然满足条件。这一原则直接影响CDS视图、AMDP等核心组件,并与ABAP Cloud开发模型紧密集成。在业务系统中,client isolation要求用户只能看到当前登录client的数据。SAP通过语言版本、对象规则和静态检查强制执行这一约束,特别是在ABAP Cloud开发中,AMDP方法和发布的API必须满足

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 3263

学习STM32的ADC采集声音

为了采集声音信号,需要一个声音传感器(如麦克风),将声音信号转换为电压信号输入到 ADC 引脚。通过硬件准备、STM32CubeMX 配置和代码实现,我们可以实现将声音信号转换为数字信号,并进行后续处理。STM32 是一款广泛应用于嵌入式系统开发的微控制器平台,其拥有丰富的外设和强大的性能,非常适合进行 ADC(模拟数字转换)的声音采集。函数启动 ADC1 的连续转换模式,然后在一个无限循环中等待 ADC 转换完成,并读取采样结果。四、代码实现 在生成的代码中,会生成一些相关的库文件和示例代码。

m0_75244442的博客 2173

Flask中WTForm用法详解

Flask中WTForm用法详解

IT之一小佬的博客 2704

安川机器人外部轴添加

本文详细介绍了如何在安川机器人本体上添加第7轴以及如何设置动作,本文以添加点焊枪为例进行讲解。

haier123888的博客 7892

Python WTForms 2.0 发布

WTForms 是一个 Python 表单验证、渲染开发包。WTForms 2.0 于2014年5月发布,这是继 WTForms 1.0.5 之后第一个重要的版本。 新特性 Class Meta 可以从多方面定制 WTFormsCSRF 和 i18n 由扩展变成核心特性Widget 渲染变更 不推荐使用的API 这些API仍然有效,但在很多情况下,会引发弃用警告。这些API

digwtx的专栏 842

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

37、flask--WTForms的使用

这个库一般有两个作用。第一个就是做表单验证,把用户提交上来的数据进行验证是否合法。第二个就是做模版渲染。 一、做表单验证: 自定义一个表单类,继承自wtforms.Form类。 定义好需要验证的字段,字段的名字必须和模版中那些需要验证的input标签的name属性值保持一致。 在需要验证的字段上,需要指定好具体的数据类型。 在相关的字段上,指定验证器。 以后在视图中,就只需要使用这个表单类的对象,并且把需要验证的数据,也就是request.form传给这个表单类,以后调用f...

qq_39432161的博客 367

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

Flask-WTForms表单验证

WTForms表单验证 Flask-WTF Flask-WTF是简化了WTForms操作的一个第三方库 WTForms表单的两个主要功能是验证用户提交数据的合法性以及渲染模板。 还包括一些其他的功能: CSRF(跨站点请求伪造(Cross Site Request Forgery))保护,文件上传等。 安装Flask-WTF默认也会安装WTForms,因此使用以下命令来安装Flask-WTF pi...

weixin_45905671的博客 336

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

Flask笔记:WTForms

文章目录使用Flask-WTF处理表单1. 安装2. 创建表单类3. 在模板中渲染表单3.1 传入表单实例3.2 在模板中渲染表单附:常用WTForms字段常用的 WTForms 验证器 使用Flask-WTF处理表单 WTForms 是一个使用 Python 编写的表单库, 它使得表单的定义、验证(服务器端) 和处理变得非常轻松。Flask-WTF 集成了 WTForms,使用它可以在 Flas...

Crazy_zh的博客 636

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

由于该文章总结的比较全面,对我的 flask 项目很有帮助。为方便以后复习用故转载在此。 以下内容转自 脚本之家 作者:digwtx 文章连接:https://www.jb51.net/article/86123.htm WTForms由Python写成,为表单而生,提供了很多制作Web表单的实用API,和Flask框架结合使用效果拔群,这里我们就一起看一下...

Melody_92的博客 485

python web开发-Flask表单处理

本文全面介绍了Flask中的表单处理技术,重点讲解了WTForms库的使用方法。内容包括基础HTML表单处理、WTForms表单创建与验证、表单渲染与处理流程、高级功能(如自定义验证器和文件上传)、数据库集成以及CSRF防护等关键知识点。文章还提供了代码示例展示如何在实际项目中应用这些技术,并介绍了表单测试的基本方法。通过学习本文,开发者可以掌握Flask中从基础到高级的表单处理技能,构建安全可靠的Web应用表单系统。

人工智能微客/aiweker 812

Tornado框架WTForms的使用

Tornado框架WTForms的使用 – 潘登同学的Tornado学习笔记 文章目录Tornado框架WTForms的使用 -- 潘登同学的Tornado学习笔记WTForms表单验证报错解决WTForm渲染模板WTForms结合peewee最重要一点 WTForms表单验证 官方文档: https://wtforms.readthedocs.io/en/2.3.x/ pip install wtforms-tornado # 创建表单类 from wtforms_tornado import Form

weixin_52185313的博客 1092

html 表单验证 flask,使用 WTForms 进行表单验证

### 导航- [索引](# "总目录")- [下一页](# "模板继承") |- [上一页](# "视图装饰器") |- [Flask 0.10.1 文档](#) »- [Flask 代码模式](#) »# 使用 WTForms 进行表单验证如果您不得不跟浏览器提交的表单数据打交道,视图函数里的代码将会很快变得难以阅读。有不少的代码库被开发用来简化这个过程的操作。其中一个就是 [WTForms]...

weixin_30322901的博客 372

bootstrap form表单提交_Flask:表单

摘自 李辉《Flask Web开发实战:入门、进阶与原理解析》WTForms支持在Python中使用类定义表单,然后直接通过类定义生成对应的HTML代码。使用Flask-WTF处理表单扩展Flask-WTF集成了WTForms,使用它可以在Flask中更方便地使用WTForms。Flask-WTF将表单数据解析、CSRF保护、文件上传等功能与Flask集成。Flask-WTF默认为每个表单启用CS...

weixin_42496830的博客 1307

Flask---wtforms使用、信号

简单示例 基本使用 渲染 校验 自定义Form组件 信号 简单示例 from flask import Blueprint,render_template,request,session,redirect from ..utils.sql import SQLHelper account = Blueprint('account',__name__) from...

全干工程师 985

Flack之 WTForms

WTForms插件 这个插件库主要有两个作用。 第一个是做表单验证,将用户提交上来的数据进行验证是否符合系统要求。 第二个是做模版渲染。 (了解即可) Flask-WTF Flask-WTF是简化了WTForms操作的一个第三方库。 WTForms表单的两个主要功能是验证用户提交数据的合法性以及渲染模板。 而Flask-WTF还包括一些其他的功能:CSRF保护,文件上传等。 安装Flask...

why404 832

WTForms模块

下载安装 pip install WTForms 主要概念 Forms:Forms类是WTForms的核心容器。表单(Forms)表示域(Fields)的集合,域能通过表单的字典形式或者属性形式访问。 Fields:Fields(域)做最繁重的工作。每个域(Field)代表一个数据类型,并且域操作强制表单输入为响应的数据类型。例如,InputRequired和StringField表示两种不同的数据类型。域除了包含的数据之外,还包含大量有用的属性,例如标签、描述、验证错误的列表。 Validators:V

冰度猎魂的博客 767

Flask-WTForms

Flask-WTF是简化了WTForms操作的一个第三方库。WTForms表单的两个主要功能是验证用户提交数据的合法性以及渲染模板。还有其它一些功能:CSRF保护, 文件上传等。安装方法:pip install flask-wtf 1.1.WTForms简单验证 from flask import Flask,request,render_template fro...

weixin_30556161的博客 86
上一篇: pycharm 2017 如何激活?
下一篇: cookie 有效域名如何设置??
现在叫阿汤哥
博客等级 码龄10年 78粉丝 57原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值