当前位置:   article > 正文

Flask之Web表单使用_flask怎么获取表单中的id元素

flask怎么获取表单中的id元素

Web表单使用

@(Flask)

request对象包含客户端发出的所有请求信息。

request.form能获取POST请求中提交的表单数据。

使用的包

Flask-WTF可以把处理Web表单的过程变成愉快的体验。

pip install flask-wtf
  • 1

CSRF:跨站请求伪造保护

实现CSRF保护的方法:设置秘钥。

简单的做法是写到代码中,但是这种做法不够安全最好是保存在环境变量中,这类技术后序会继续再谈。

#hello.py
app = Flask(__name__)
app.config['SECRET_KEY'] = 'hard to guess string'
  • 1
  • 2
  • 3

注意到,这里用到了app.config字典,Python中,几乎可以见名之意,这里也不例外。

app.config的作用:存储框架、扩展、程序本身的配置变量。

写入配置值的方法:

  • 标准字典句法
  • 从文件或环境导入配置值

值得注意的是,SECRET_KEY配置变量是通用秘钥

这个通用,指的是可在Flask和多个第三方扩展中使用。

表单类

每个Web表单都由一个继承自Form的类表示。
这个类定义了表单中的一组字段,每个字段都用对象表示。

字段对象可以附属一个或多个验证函数

验证函数的作用:验证用户提交的输入值是否符合要求。

#简单的Web表单,包含一个文本字段和一个提交按钮
from flask_wtf import Form
from wtforms import StringField,SubmitField 
from wtforms.validators import Required
class NameForm(Form):
    name = StringField('What is your name?', validators=[Required()]) 
    submit = SubmitField('Submit')
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

理解:表单中的字段都定义为类变量
其中类变量的值是相应字段类型的对象。

这里的name字段,对应的是StringField的对象;
submit按钮是SubmitField的对象。

StringField类表示的是属性为type="text"<input>元素。

SubmitField类表示的是是属性为type="submit"<input>元素。

同时值得关注的是在StringField构造函数中有一个可选参数:validators,而且是以数组形式,正对应了前面说的一个字段可以有一个或者多个验证函数。

WTForms支持的HTML标准字段

  • StringField 文本字段
  • TextAreaField 多行文本字段
  • PasswordField 密码文本字段
  • HiddenField 隐藏文本字段
  • DateField 值为datetime.date格式的文本字段
  • DateTimeField 值为datetime.datetime格式的文本字段
  • IntegerField 值为整数的文本字段
  • DecimalField 值为decimal.Decimal的文本字段
  • FloatField 值为浮点数的
本文内容由网友自发贡献,转载请注明出处:https://www.wpsshop.cn/w/你好赵伟/article/detail/66509
推荐阅读
相关标签
  

闽ICP备14008679号