用flask开发个人博客(16)—— 表单类的使用

来源:互联网 发布:免费刷手机流量软件 编辑:程序博客网 时间:2024/06/04 00:34

        Flsk中扩展Flask-WTF对表单类进行了封装,我们通过继承Flask-WTF扩展中的FlaskForm基类,可以定义自己的表单类,类中每一个属性对应一个表单中的元素,如下面的类,我们定义了一个含有文本框和提交按钮的表单类:

      

from flask_wtf import FlaskFormfrom wtforms import StringField,SubmitFieldfrom wtforms.validators import Required

class NameForm(FlaskForm):    name=StringField('your name',validators=[Required()])    submit=SubmitField('Submit')

        这样我们就定义了一个名叫NameForm的表单类,包含两个元素:一个叫做name的文本框和一个叫做submit的提交按钮.validators表示验证器,后面可以增加一些对用户输入的限制,如上述Required()的意思就是该文本框中必须填入数据。验证器还有很多种,比如用来检查是否是email的Email()、用来比较两个值的EqualTo()。

        对应的在html文档中,我们可以这样使用form:

<form method="POST">{{form.hidden_tag()}}{{form.name.label}}{{form.name()}}{{form.submit }}</form>

       我们在视图函数中这样进行渲染:

 @app.route('/', methods=['GET','POST'])  def index():      form=NameForm()      return render_template('index.html',form=form)


        运行效果如下:


Github位置:
https://github.com/HymanLiuTS/flaskTs

克隆本项目:
git clone git@github.com:HymanLiuTS/flaskTs.git
获取本文源代码:
git checkout FL16
0 0