代码之家  ›  专栏  ›  技术社区  ›  TrickiDicki

烧瓶引导quick\u表单缺少提交按钮

  •  2
  • TrickiDicki  · 技术社区  · 7 年前

    尝试使用flask bootstrap quick_form。

    {% import "bootstrap/wtf.html" as wtf %}
    {% extends "layout.j2" %}
    
    {% block content %}
    
    <h1>My form</h1>
    {{ wtf.quick_form(form) }}
    
    {% endblock content %}
    

    表单类:

    class MyForm(FlaskForm):
        """A WTForm for configuring vehicle information"""
        field1 = StringField('First field', [wtforms.validators.required()])
        field2 = StringField('Second field', [wtforms.validators.required()])
        field3 = StringField('Third field', [wtforms.validators.required()])
    

    表单处理程序:

    @app.route('/myform', methods=('GET', 'POST'))
    def my_form():
        form = MyForm()
        if form.validate_on_submit():
            myData = form.data
            return redirect("/")
        return render_template("my-form.j2", form=form)
    

    {{ form.submit }} 到我的桌子上去。 有什么想法吗?

    2 回复  |  直到 7 年前
        1
  •  12
  •   maje    3 年前

    @atwalsh的答案很好,但你也可以将提交按钮放在课堂上,然后在模板中调用它:

    class MyForm(FlaskForm):
        field1 = StringField('First field', [wtforms.validators.required()])
        field2 = StringField('Second field', [wtforms.validators.required()])
        field3 = StringField('Third field', [wtforms.validators.required()])
    --> submit_button = SubmitField('Submit Form')
    

    然后放入模板:

    {{ wtf.quick_form(form, button_map={'submit_button': 'primary'}) }}
                                ^            ^
    

    编辑: 您还需要导入SubmitField方法:

    from wtforms import SubmitField
                                        
    
        2
  •  1
  •   atwalsh    7 年前

    我相信您可以直接在后面添加输入字段 {{ wtf.quick_form(form) }}

    <input class="btn btn-primary" type="submit" value="Login">
    

    实例

    {% import "bootstrap/wtf.html" as wtf %}
    {% extends "layout.j2" %}
    
    {% block content %}
    
    <h1>My form</h1>
    <form method="POST" action="/">
        {{ wtf.quick_form(form) }}
        <input class="btn btn-primary" type="submit" value="Login">
    </form>
    {% endblock content %}