flask之表单
2024-09-08 01:40:55
一:表单
表单用于注册,修改用户数据等场景。
flask-wtf提供了一个包,可以创建表单:pip install flask-wtf
为了防止跨域请求,flask_wtf自己生成一个秘钥,用秘钥生成加密口令,然后用口令验证表单中的数据真伪(是否被篡改过)
from flask import Flask
from flask import request
from flask import redirect
from flask.ext.script import Manager
from flask import render_template app = Flask(__name__)
app.config["secret_key"] = "hard to guess" # 加密的秘钥
# 通过app.config配置到项目的app的配置文件中,字典类型 @app.route("/user/<id>")
def user_name(id):
if id == "":
li = ["zhang","wang","li","zhao"]
return render_template("user.html",comments=li)
else:
return "不符合" if __name__ == "__main__":
app.run(debug=True)
注意:为了增强安全性,密钥不应该直接写入代码,而要保存在环境变量中 ,以后会进行这样设置。
例如一个简单的web表单
from flask.ext.wtf import Form # Form类的来源
from wtforms import StringField, SubmitField
from wtforms.validators import Required
class NameForm(Form): # 每个web表单类都继承Form类
# StringField()普通的字符串输入文本框,validators=[],指定了一个验证函数组成的列表,Required()验证字段不能为空。
name = StringField('What is your name?', validators=[Required()])
# SubmitField()点击提交按钮
submit = SubmitField('Submit')
表单类的字段类型为:
最新文章
- yii2 ActiveRecord多表关联以及多表关联搜索的实现
- js中bind,call,apply方法的应用
- MS SQL 需要定期清理日志文件
- C#内存释放
- 微信内置浏览器的JS API
- SQL中case when then用法
- Wordpress模板制作、改造、设计
- 【 D3.js 高级系列 — 2.0 】 捆图
- 如何用正则匹配后缀名不为.jpg, .css, .js, .html, .htm, .png的文件
- 【动态规划】【二分】【最长上升子序列】Vijos P1028 魔族密码
- HDU 2063 最大匹配的基础题
- DirectX:在graph自己主动连线中增加自己定义filter(graph中遍历filter)
- Django+Bootstrap+Mysql 搭建个人博客 (六)
- Git学习笔记——分支
- python自动化开发-[第八天]-面向对象高级篇与网络编程
- centos修改主机名 root@后面的名字
- 【OpenFOAM案例】03 Docker安装OpenFOAM
- Gauss-Laguerre quadrature rule
- Python Requests库网络爬取全代码
- [Python_6] Python 配置 MySQL 访问
热门文章
- hibernate class cast exception from object to ...
- PCIE手札
- SeaJS基本开发原则
- nacos 使用 servlet 异步处理客户端配置长轮询
- Linux_ISCSI服务器
- mkdir: 无法创建目录";kk";: 只读文件系统
- delphi自定义事件处理
- ensorflow学习笔记四:mnist实例--用简单的神经网络来训练和测试
- Delphi7中ClientDataSet的排序
- Maven系列学习(三)Maven生命周期和插件