报错:{‘csrf_token‘: [‘The CSRF token is missing.‘]}

news/2025/1/23 16:30:34/

flask实现一个简单的注册界面报错

register.html

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>Title</title>
</head>
<body>
<form action="" method="post">
<!--    {{ form.hidden_tag() }}-->{{form.username.label}}
{{form.username}}
<br>
{{form.password.label}}
{{form.password}}<br>
{{form.password2.label}}
{{form.password2}}
<br>
{{form.submit}}
</form></body>
</html>

 表单.py

from flask import Flask, render_template, request
from wtforms import StringField, PasswordField, SubmitField
from flask_wtf import FlaskForm
from wtforms.validators import DataRequired, EqualToapp = Flask(__name__)
app.config['SECRET_KEY'] = 'abc123'class Register(FlaskForm):username = StringField(label='Username', validators=[DataRequired("用户名不能为空")])password = PasswordField(label='password', validators=[DataRequired("密码不能为空")])password2 = PasswordField(label='password2', validators=[DataRequired("密码不能为空"), EqualTo('password')])submit = SubmitField(label='Sign Up')@app.route('/register', methods=[ 'GET','POST'])
def register():form = Register()if request.method == 'POST':print(999)if form.validate_on_submit():print("验证成功")username = form.username.datapassword = form.password.datapassword2 = form.password2.dataprint(username, password, password2)else:print(form.errors)print("验证失败")elif request.method == 'GET':return render_template('register.html', form=form)return render_template('register.html', form=form)if __name__ == '__main__':app.run(debug=True)

 

  •  {'csrf_token': ['The CSRF token is missing.']} 表示在表单提交时,缺少 CSRF(跨站请求伪造)令牌。
  • 当使用 Flask-WTF 时,为了防止 CSRF 攻击,默认会启用 CSRF 保护。这意味着在表单中需要包含一个 CSRF 令牌,并且在表单提交时,服务器会验证这个令牌是否存在且有效。

    在你的 register.html 模板中,确保使用 form.hidden_tag() 来包含 CSRF 令牌。


http://www.ppmy.cn/news/1565525.html

相关文章

【玩转全栈】----Django制作部门管理页面

目录 大致效果 BootStrap BootStrap简介 BootStrap配置 BootStrap使用 基本配置 部分代码解释及注意&#xff1a; 用户编辑&#xff1a; 新添数据&#xff1a; 删除数据&#xff1a; 大致效果 我先给个大致效果&#xff0c;基本融合了Django、Bootstrap、css、html等等。 基于D…

AI agent 在 6G 网络应用,无人机群控场景

AI agent 在 6G 网络应用,无人机群控场景 随着 6G 时代的临近,融合人工智能成为关键趋势。借鉴 IT 行业 AI Agent 应用范式,提出 6G AI Agent 技术框架,包含多模型融合、定制化 Agent 和插件式环境交互理念,构建了涵盖四层结构的框架。通过各层协同实现自主环境感知等能力…

开源模型应用落地-CodeQwen模型小试-SQL专家测试(二)

一、前言 代码专家模型是基于人工智能的先进技术&#xff0c;它能够自动分析和理解大量的代码库&#xff0c;并从中学习常见的编码模式和最佳实践。这种模型可以提供准确而高效的代码建议&#xff0c;帮助开发人员在编写代码时避免常见的错误和陷阱。 通过学习代码专家模型&a…

2024年博客之星年度评选|第一步——创作影响力评审入围Top300名单 | 博客之星陪跑指南

2024年博客之星年度评选&#xff5c;第一步——创作影响力评审入围Top300名单 | 博客之星陪跑指南 2024年博客之星年度评选正在如火如荼地进行中&#xff01;作为博客圈最具影响力的评选活动之一&#xff0c;今年的评选吸引了众多优秀博主的参与。现在&#xff0c;距离Top300入…

leetcode——最大子数组和(java)

给你一个整数数组 nums &#xff0c;请你找出一个具有最大和的连续子数组&#xff08;子数组最少包含一个元素&#xff09;&#xff0c;返回其最大和。 子数组是数组中的一个连续部分。 示例 1&#xff1a; 输入&#xff1a;nums [-2,1,-3,4,-1,2,1,-5,4] 输出&#xff1a;6…

Ollama能本地部署Llama 3等大模型的原因解析(ollama核心架构、技术特性、实际应用)

文章目录 前言1、Ollama 的核心架构和技术能力1.1、高效模型加载和存储1.2、推理优化1.3、微调支持1.4、部署工具链 2.、Llama 3模型的技术特性2.1、模型架构2.2、模型性能 3.、Ollama部署Llama 3的实际应用3.1、医疗领域应用&#xff1a;医学文档分析 4、Ollama部署Llama 3的行…

深入探索Python人脸识别技术:从原理到实践

一、引言在当今数字化时代,人脸识别技术已然成为了计算机视觉领域的璀璨明星,广泛且深入地融入到我们生活的各个角落。从门禁系统的安全守护,到金融支付的便捷认证,再到安防监控的敏锐洞察,它的身影无处不在,以其高效、精准的特性,极大地提升了我们生活的便利性与安全性…

初探大数据流式处理

文章目录 初探大数据流式处理批式处理系统特点流式处理系统特点大批次计算微批次计算适用场景 流式计算的应用场景流式大数据的特征流式计算的关键技术流式处理框架的特征三大流式数据处理框架 初探大数据流式处理 大数据处理系统主要分为批式处理和流式处理两类。批式处理将大…