Flask - Jinja 2模板 - 渲染引导列表选择框

时间:2015-12-11 19:14:07

标签: python twitter-bootstrap flask jinja2 flask-wtforms

我在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变量:

使用bootstrap渲染列表选择框我知道这是代码行:

<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 个答案:

答案 0 :(得分: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>