【问题标题】:Dynamic number of input fields using WTForms使用 WTForms 的输入字段的动态数量
【发布时间】:2019-06-06 01:05:59
【问题描述】:

是否可以使用 Flask 和 WTForms 生成动态数量的输入字段?

例如,在食谱网站上,当您要添加食谱时,我想为成分包含多个输入字段。 连同用于确定成分数量 x 的选择器字段,该站点应显示成分的 x 输入字段。

当然,我的后端应该以某种方式将它们识别为单独的输入字段

例如:

{% for i in range(5) %}
    {{ form.ingred }}
{% endfor %}

显示 5 个成分字段(5 在此处是可变的),但它们共享输入数据。是否可以获取他们的个人数据?

【问题讨论】:

  • 我不知道 wforms 所以我不知道其中的具体实现,但是您是否尝试过将数据作为逗号分隔的字符串发送到烧瓶端点,然后将其吐到那里?
  • 我也考虑过这个,但我更喜欢使用多个输入字段的方法。
  • 然后传递一个数组或者字典?
  • 我不确定你的意思。你能进一步解释一下吗?

标签: python-3.x flask flask-wtforms


【解决方案1】:

像这样构建动态表单的最快和最简单的方法是预先分配表单:

class MyForm(FlaskForm):
    input_1 = ..
    ..
    input_20 = ..

但使用render_kw args 配置样式属性或css 类只显示其中一些。

然后在客户端编写 Javascript 函数,以在用户有兴趣添加另一个项目时显示特定的输入字段。

【讨论】:

    猜你喜欢
    • 2015-04-07
    • 1970-01-01
    • 1970-01-01
    • 2016-09-29
    • 1970-01-01
    • 2015-10-15
    • 1970-01-01
    • 1970-01-01
    • 2015-03-05
    相关资源
    最近更新 更多