当前位置: 首页 > wzjs >正文

成都网站制作培训多少钱百度seo怎么把关键词优化上去

成都网站制作培训多少钱,百度seo怎么把关键词优化上去,购物网站建设规划论文,网站建设公司赚钱在 Flask 中,WTForms 是一个用于 处理表单验证 的库,可以与 Flask 结合,提供表单验证、数据清理、错误提示等功能。 1. 安装 Flask-WTF 首先安装 Flask-WTF: pip install Flask-WTFFlask-WTF 是 WTForms 的 Flask 扩展&#xff…

在 Flask 中,WTForms 是一个用于 处理表单验证 的库,可以与 Flask 结合,提供表单验证、数据清理、错误提示等功能。


1. 安装 Flask-WTF

首先安装 Flask-WTF

pip install Flask-WTF

Flask-WTFWTForms 的 Flask 扩展,提供了 CSRF 保护Flask 兼容的表单处理


2. 基本使用

(1) 创建 Flask 应用

from flask import Flask, render_template, request, redirect, flash
from flask_wtf import FlaskForm
from wtforms import StringField, PasswordField, SubmitField
from wtforms.validators import DataRequired, Length, Email, EqualToapp = Flask(__name__)
app.config['SECRET_KEY'] = 'your_secret_key'  # 必须设置,否则 CSRF 保护无法使用

(2) 定义表单

使用 FlaskForm 继承 WTForms,定义表单字段和验证规则:

class LoginForm(FlaskForm):email = StringField('邮箱', validators=[DataRequired(), Email()])password = PasswordField('密码', validators=[DataRequired(), Length(min=6, max=12)])submit = SubmitField('登录')

DataRequired() 不能为空
Email() 必须是合法邮箱格式
Length(min=6, max=12) 密码长度 6-12 位


(3) 创建视图

表单处理逻辑

@app.route('/login', methods=['GET', 'POST'])
def login():form = LoginForm()if form.validate_on_submit():  # 检查表单是否有效email = form.email.datapassword = form.password.dataflash(f'用户 {email} 登录成功', 'success')return redirect('/success')  # 登录成功跳转return render_template('login.html', form=form)

form.validate_on_submit() 自动检查 POST 数据是否符合验证规则
flash() 用于在前端显示错误或成功信息
form.email.data 获取表单数据


(4) 编写 HTML 表单

templates/login.html

<!DOCTYPE html>
<html lang="zh">
<head><meta charset="UTF-8"><title>登录</title>
</head>
<body><h1>登录</h1>{% with messages = get_flashed_messages(with_categories=true) %}{% if messages %}{% for category, message in messages %}<p style="color: {{ 'green' if category == 'success' else 'red' }}">{{ message }}</p>{% endfor %}{% endif %}{% endwith %}<form method="POST">{{ form.hidden_tag() }}  {# CSRF 保护 #}<p>{{ form.email.label }} <br>{{ form.email(size=30) }} <br>{% for error in form.email.errors %}<span style="color:red;">{{ error }}</span>{% endfor %}</p><p>{{ form.password.label }} <br>{{ form.password(size=30) }} <br>{% for error in form.password.errors %}<span style="color:red;">{{ error }}</span>{% endfor %}</p><p>{{ form.submit() }}</p></form>
</body>
</html>

{{ form.hidden_tag() }} 用于 CSRF 保护
form.email(size=30) 渲染表单输入框
for error in form.email.errors 显示验证错误


3. 复杂表单示例(注册表单)

支持 两次密码一致性验证

class RegisterForm(FlaskForm):username = StringField('用户名', validators=[DataRequired(), Length(min=3, max=20)])email = StringField('邮箱', validators=[DataRequired(), Email()])password = PasswordField('密码', validators=[DataRequired(), Length(min=6, max=12)])confirm_password = PasswordField('确认密码', validators=[DataRequired(), EqualTo('password', message="两次密码不一致")])submit = SubmitField('注册')

EqualTo('password') 验证两次密码一致
message="两次密码不一致" 自定义错误提示

注册视图:

@app.route('/register', methods=['GET', 'POST'])
def register():form = RegisterForm()if form.validate_on_submit():flash(f'用户 {form.username.data} 注册成功', 'success')return redirect('/login')return render_template('register.html', form=form)

4. 自定义验证器

可以自定义表单验证逻辑。例如:检查用户名是否已存在

from wtforms.validators import ValidationErrorclass UniqueUsername:"""自定义验证器,检查用户名是否已被使用"""def __init__(self, message=None):if not message:message = "该用户名已被占用"self.message = messagedef __call__(self, form, field):existing_users = ["admin", "test"]  # 假设数据库已有的用户名if field.data in existing_users:raise ValidationError(self.message)class RegisterForm(FlaskForm):username = StringField('用户名', validators=[DataRequired(), Length(min=3, max=20), UniqueUsername()])email = StringField('邮箱', validators=[DataRequired(), Email()])password = PasswordField('密码', validators=[DataRequired(), Length(min=6, max=12)])confirm_password = PasswordField('确认密码', validators=[DataRequired(), EqualTo('password')])submit = SubmitField('注册')

UniqueUsername() 检查用户名是否已注册
raise ValidationError(self.message) 触发错误


5. 结论

  1. Flask-WTFWTForms 的 Flask 扩展,提供 表单验证、CSRF 保护
  2. FlaskForm 定义表单字段 & 验证规则,如 DataRequired()Email()
  3. form.validate_on_submit() 自动检查表单数据
  4. HTML 使用 form.hidden_tag() 保护 CSRF,用 form.errors 显示错误
  5. 支持自定义验证器,如检查用户名是否唯一。

Flask + WTForms 让表单验证更安全、更易用!🚀

http://www.dtcms.com/wzjs/2879.html

相关文章:

  • 日本a片女人和狗做的网站百度首页推广
  • 做视频网站需要什么服务器今日山东新闻头条
  • 如何做中英文网站一元友情链接平台
  • 网站开发优势百度搜索引擎怎么做
  • iis7 网站访问权限怎么建立自己的网站
  • 网站登录界面用什么软件做百度有什么办法刷排名
  • wordpress神级插件seo服务靠谱吗
  • 自动卖卡密的网站怎么做竞价排名规则
  • 网站正在建设中 免费百度推广上班怎么样
  • 做分类信息网站赚钱吗搜索网页内容
  • 上线了做网站怎么查看成都网站快速排名优化
  • 如何做微信小程序店铺百度seo搜索排名
  • 钓鱼网页在线生成网站广州优化网站排名
  • 建设通网站免费注册今天军事新闻最新消息
  • 帮别人做网站多少钱免费推广引流平台有哪些
  • 公司网站案例seo网络优化教程
  • 白云网站建设价格公关策划公司
  • 海尔网站建设的目标深圳全网营销系统
  • 阿里巴巴网站建设的基本情况东莞企业网站设计公司
  • seo视频教学网站优化流程
  • 四会市城乡规划建设局网站青岛seo关键词
  • 网页游戏网站建设强力搜索引擎
  • 东莞网站搭建哪家强营销网站建设规划
  • 千享科技网站建设seo推广优化排名软件
  • 电商网站建设公司3322免费域名注册
  • 网站建设首选唯美谷宣传推广
  • 企业网站管理系统排名站内优化
  • 做网站和软件有区别吗安徽做网站公司哪家好
  • 佛山网站建设官网公司网站建设
  • 网站估值怎么做疫情防控最新通告