3

我是烧瓶的新手,我想将下拉列表添加到具有预定义值的表单(不从数据库中获取)。我创建了一个模型如下。

class DeliveryDetails(Model):

    _tablename_ = 'deliverydetails'
    id = Column(Integer, primary_key=True)
    customer_name = Column(String(250), nullable=False)
    delivery_type = Column(String(250), nullable=False)

并查看如下。

class DeliveryDetailsView(ModelView, DeleteMixin):
    datamodel = SQLAInterface(models.DeliveryDetails)
    list_columns = ['customer_name','delivery_type']
    search_columns = ['customer_name','delivery_type']
    edit_columns = ['customer_name','delivery_type']
    add_columns = edit_columns
    label_columns = {
        'customer_name': _("Customer Name"),
        'delivery_type': _("Delivery Type") }

我想在下拉列表中Air, Land, Sea显示。Delivery Types请让我知道是否可以按照我提到的那样做?

4

1 回答 1

5

您可以使用WTF 表格。在您的 WTF 表单中,使用以下字段:

dropdown_list = ['Air', 'Land', 'Sea'] # You can get this from your model
seqSimilarity = SelectField('Delivery Types', choices=dropdown_list, default=1)

或者

如果您正在使用 jinja 模板并且想要在没有 WTF 形式的情况下执行此操作,那么您可以dropdown_list在 render_template() 中作为参数传递。最后简单地遍历列表并在 HTML 中创建选择。

在视图文件中:

@app.route("/url_you_want")
def view_method():
    dropdown_list = ['Air', 'Land', 'Sea']
    return render_template('your_template.html', dropdown_list=dropdown_list)

然后在your_template.html

<select>
{% for each in dropdown_list %}
  <option value="{{each}}">{{each}}</option>
{% endfor %}
</select>
于 2017-09-05T05:40:46.800 回答