【问题标题】:Flask - Jinja 2 template - rendering a bootstrap list select boxFlask - Jinja 2 模板 - 渲染引导列表选择框
【发布时间】:2015-12-11 19:14:07
【问题描述】:

我由 Flask 创建的 Web 应用程序使用 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 }} 变量分配这些选项? 如果我能提供任何进一步的信息来更好地解释我的问题,请告诉我。

【问题讨论】:

  • 这是flask-wtf 吗? ... 使用 SelectField 代替 StringField?
  • 太棒了,是的,它是一个烧瓶-wtf。非常感谢

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


【解决方案1】:

我觉得对你有帮助

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>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-11-24
    • 1970-01-01
    • 2016-12-07
    • 1970-01-01
    • 2015-04-13
    • 1970-01-01
    • 2015-07-03
    • 1970-01-01
    相关资源
    最近更新 更多