项目印记

预测未来的最好办法,就是把它创造出来。--艾伦.凯(美)

Flask-Form表单的使用

1、安装flask form插件pip install flask-wtf

2、表单常用的字段

3、在forms.py文件中导入form表单相关模块,并定义一个Form类

import wtforms # 定义字段

from flask_wtf import FlaskForm # 定义表单

from wtforms import validators # 定义校验

from FlaskStudent.models import Course

class TeacherForm(FlaskForm):

    """

    form字段的参数

    label=None, 表单的标签

    validators=None, 校验,传入校验的方法

    filters=tuple(), 过滤

    description='',  描述

    id=None, html id

    default=None, 默认值

    widget=None, HTML样式

    render_kw=None, HTML属性 参数

    """

    gender = wtforms.SelectField(

        label="教师性别",

        render_kw={

            "class": "form-control",

        },

        choices=[

            ("1","男"),

            ("2","女")

        ]

    )

 

4、视图路由文件中定义一个视图函数,并实例化表单,用于前端渲染

@main.route('/cfeditor',methods=['GET', 'POST'])

@login_required

def cfeditor():

    form = PostForm1()

    if form.validate_on_submit():

        postart = PostArt(title=form.title.data,body=form.body.data,cates_id=form.gender.data,

                    author=current_user._get_current_object())

        db.session.add(postart)

        db.session.commit()

        body=form.body.data

        # WARNING: use bleach or something similar to clean the data (escape JavaScript code)

        # You may need to store the data in database here

        postarts=PostArt.query.order_by(PostArt.timestamp.desc()).all()

        flash('Your comment has been published.')

        return redirect(url_for('.cfeditor',page=-1))

    return render_template('index3.html',form=form)

5、index.html模版文件中引用

            <form role="form" method="post">                

                <div class="form-group" >                    

                    {{ form.csrf_token }}

                      {{ form.gender.label }}{{ form.gender }}<br>

                    {{ form.title.label }}<br>

                    <input class="form-control"  id="editor" name="title" data-validate="required" placeholder="Enter your title"><br>

                    {{ form.body.label }}<br>

                    {{ form.body }}<br>

                    {{ form.submit }}                                    

                </div>            

            </form>

参考网址:https://blog.csdn.net/z_ipython/article/details/98882921

问 AI(只依据本文回答)
输入你的问题,AI 只根据当前段落和全篇上下文回答。
本文批注(0)