Flask——表单类

来源:互联网 发布:找回淘宝账号密码 编辑:程序博客网 时间:2024/06/06 20:26

详细文档
使用例子:

from flask import Flask,redirect,url_for,render_template,session,flashfrom flask_bootstrap import Bootstrapfrom flask_wtf import FlaskFormfrom wtforms import StringField,SubmitFieldfrom wtforms.validators import Requiredapp=Flask(__name__)bootstrap=Bootstrap(app)app.config['SECRET_KEY']='huu cool'#表示一个<form>表单,类变量表示表单的元素class NameForm(FlaskForm):#vilators可以指定验证函数组成的列表    name=StringField('你叫什么名字?',validators=[Required()])    submit=SubmitField('告诉我')@app.route('/',methods=['POST','GET'])def index():    form=NameForm()    if form.validate_on_submit():        old_name=session.get('name')        if old_name is not None and old_name != form.name.data:            flash('Look like you have changed your name')        session['name']=form.name.data        return redirect(url_for('index'))    return render_template('index.html',form=form,name=session.get('name'))if __name__ == '__main__':    app.run()

渲染表单的模板:

#templates/index.html#{% extends "bootstrap/base.html" %}{% import "bootstrap/wtf.html" as wtf %}{% block title%} Hello {% endblock %}{%block content%}<div class="container">    {%if name%}Hello {{name}} ! {%else%} Hello Stranger! {%endif%}    #flash信息显示     {% for message in get_flashed_messages() %}    <div class="alert alert-warning">    <button type="button" class="close" data-dismiss="alert">&times;</button>{{message}}         </div>    {% endfor %}    #flask_bootstrap快速渲染    {{wtf.quick_form(form)}}    #手动渲染      <!-- <form  method="POST">    {{form.hidden_tag()}}    {{form.name.label}}{{form.name()}}    {{form.submit()}}    </form> --></div>{%endblock%}