2015-12-11 67 views
0

Flask創建的我的web應用使用Jinja 2模板。我建立了我的形式從下面的申請表值:Flask - Jinja 2模板 - 渲染引導列表選擇框

form = T3InputForm(request.form) 

並確定我T3InputForm爲:

class T3InputForm(Form): 
    savgp = StringField('Selected Averaging Period', 
        validators=[DataRequired()]) 

在我的HTML文件,我有

<div class="form-group col-md-6"> 
    <p> <h4>{{ form.savgp.label}} : {{ form.savgp }} </h4></p> 
</div> 

所以我可以分配我輸入{{form.savgp}}變量並將其傳遞給我的python函數。現在,我的問題是,如何使用Jinja 2模板呈現引導列表選擇框並將其值賦給form.savgp變量:

使用引導來呈現列表選擇框我知道這是代碼行:

<select class="form-control"> 
    <option value="one">One</option> 
    <option value="two">Two</option> 
    <option value="three">Three</option> 
    <option value="four">Four</option> 
    <option value="five">Five</option> 
</select> 

如何爲{{form.savgp}}變量指定這些選項? 請讓我知道,如果我可以提供任何進一步的信息來更好地解釋我的問題。

+1

是這個'燒瓶wtf'有用嗎? ...使用SelectField而不是StringField? –

+0

真棒,是的,它是一個燒瓶wtf。非常感謝 –

回答

2

我認爲它給你

forms.py

class T3InputForm(Form): 
    savgp = SelectField('Selected Averaging Period', choices=[('one', "One"), ('two, "Two"),('three', "Three"), ('four, "Four"),('five',"Five")], [validators.Required()]) 

HTML

<div class="form-group col-md-6"> 
    <p> <h4>{{ form.savgp.label}} : {{ form.savgp(class_="form-control") }} </h4></p> 
</div>