2017-08-30 9 views
1

フラスコのブートストラップquick_formを試しています。flask-bootstrap quick_formがありません送信ボタン

HTMLテンプレート私の-form.j2:

{% import "bootstrap/wtf.html" as wtf %} 
{% extends "layout.j2" %} 

{% block content %} 

<h1>My form</h1> 
{{ wtf.quick_form(form) }} 

{% endblock content %} 

Formクラス:

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 }}を追加すると アイデア

<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 %} 

答えて

1

は、私はあなたが直接{{ wtf.quick_form(form) }}後に入力フィールドを追加して、HTMLフォーム内でこれらの両方を置くことができると信じてあなたのクラスに送信ボタンを置いて、テンプレートで呼び出すこともできます:

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'}) }} 
          ^  ^
+0

ありがとうございます!仕事をしているようだ。 – TrickiDicki

0

うまく@atwalsh仕事の答え:

関連する問題