Flask 在WTForms中创建数量可变的表单字段
目前,我正在尝试创建一个表单,用户可以在其中创建闪存卡,并且没有固定数量的闪存卡-您可以添加或删除它们 我尝试使用Flask 在WTForms中创建数量可变的表单字段,flask,wtforms,flask-wtforms,Flask,Wtforms,Flask Wtforms,目前,我正在尝试创建一个表单,用户可以在其中创建闪存卡,并且没有固定数量的闪存卡-您可以添加或删除它们 我尝试使用FormFields的FieldList,其中FormField是闪存卡的表单。但是,我不完全理解它是如何工作的(文档不是很有帮助),并且不能创建数量可变的FormFields 此外,我还尝试过在for循环中循环,并在每次迭代中创建一个新的FormField,但是这样我似乎无法单独访问每个字段的数据(我只获取第一个字段的数据) 如果有人能为这些方法提供解决方案或新方法,我将不胜感激。
FormFields
的FieldList
,其中FormField
是闪存卡的表单。但是,我不完全理解它是如何工作的(文档不是很有帮助),并且不能创建数量可变的FormFields
此外,我还尝试过在for
循环中循环,并在每次迭代中创建一个新的FormField
,但是这样我似乎无法单独访问每个字段的数据(我只获取第一个字段的数据)
如果有人能为这些方法提供解决方案或新方法,我将不胜感激。我将假设每张闪存卡都有一个标题和一些内容。在这种情况下最有意义的表单字段类型是WTForms中的
TextField
和TextAreaField
。由于您正在使用表单,因此需要继承基本表单
对象
from flask.ext.wtf import Form
from wtforms import TextField, TextAreaField
class FlashCard(Form):
title = TextField('Card title:')
content = TextAreaField('Card content:')
在Flask view函数中调用此函数时:
@app.route('/')
def index():
my_form = FlashCard()
if my_form.validate_on_submit:
# save flash card data here.
return render_template('index.html', my_form=my_form)
如果我是你,我会用情态词来表示形式。Bootstrap有一个非常容易使用的模式(需要Javascript)。当用户想要添加闪存卡时,另一个重新定向到表单页面的选项
主要的一点是,您可以对所有闪存卡使用相同的表单实例。希望这有帮助
如果您真的需要“动态表单组合”,它是这样的():
我假设每张闪存卡都有一个标题和一些内容。在这种情况下最有意义的表单字段类型是WTForms中的
TextField
和TextAreaField
。由于您正在使用表单,因此需要继承基本表单
对象
from flask.ext.wtf import Form
from wtforms import TextField, TextAreaField
class FlashCard(Form):
title = TextField('Card title:')
content = TextAreaField('Card content:')
在Flask view函数中调用此函数时:
@app.route('/')
def index():
my_form = FlashCard()
if my_form.validate_on_submit:
# save flash card data here.
return render_template('index.html', my_form=my_form)
如果我是你,我会用情态词来表示形式。Bootstrap有一个非常容易使用的模式(需要Javascript)。当用户想要添加闪存卡时,另一个重新定向到表单页面的选项
主要的一点是,您可以对所有闪存卡使用相同的表单实例。希望这有帮助
如果您真的需要“动态表单组合”,它是这样的():