用户可以向烧瓶形式添加元素吗?

时间:2019-05-14 15:06:57

标签: forms flask flask-wtforms

我正在使用flask wtforms等开发电子邮件模板应用程序。将要发送的电子邮件的每个段落都输入一个不同的文本框中(这是因为并非所有段落都将全部发送给所有电子邮件收件人)。

我无法预先知道用户希望输入多少段。我可以在他们达到模板功能并根据他们的输入呈现表单之前询问他们,但是我宁愿他们能够自己向表单中添加元素。他们应该能够添加一个字段,并减去一个字段(有点像当您申请工作时必须添加工作经历的时候)。

我一直在环顾四周,但是在flask / wtforms文档中没有看到类似的内容。我应该看什么?

谢谢

1 个答案:

答案 0 :(得分:0)

您应该在客户端使用Javascript来控制动态前端。简单的显示/隐藏<divs>就足够了。

在后端,最快的方法是预分配表单:

SubmitForm(FlaskForm)
    input1 = String(..)
    input2 = String(validators=[Optional()])
    .. 
    inputN = String(validators=[Optional()])

然后,您将解析表单以及与用户粘贴的表单一样多的表单(最多)。后端代码可以确定输入了多少表格。