当前位置: 首页 > 面试题库 >

如何在WTForms中生成动态字段

闾丘才哲
2023-03-14
问题内容

我正在尝试根据此文档http://wtforms.simplecodes.com/docs/1.0.2/specific_problems.html#dynamic-form-composition在WTForms中生成具有动态字段的表单

我有这个子窗体类,它允许用户从列表中选择要购买的物品:

class Item(Form):
    itmid = SelectField('Item ID')
    qty = IntegerField('Quantity')

class F(Form):
        pass

购物商品将有多个类别,因此我想根据用户选择的类别生成一个动态选择字段:

fld = FieldList(FormField(Item))
fld.append_entry()

但出现以下错误:

AttributeError: 'UnboundField' object has no attribute 'append_entry'

我是在做错什么,还是在WTForms中没有办法做到这一点?


问题答案:

今晚我遇到了这个问题,并最终解决了这个问题。我希望这对将来的人有帮助。

RecipeForm.py

class RecipeForm(Form):
    category = SelectField('Category', choices=[], coerce=int)
    ...

views.py

@mod.route('/recipes/create', methods=['POST'])
def validateRecipe():
    categories = [(c.id, c.name) for c in g.user.categories.order_by(Category.name).all()]
    form = RecipeForm(request.form)
    form.category.choices = categories
    ...

@mod.route('/recipes/create', methods=['GET'])
def createRecipe():
    categories = [(c.id, c.name) for c in g.user.categories.order_by(Category.name).all()]
    form = RecipeForm(request.form)
    form.category.choices = categories
    return render_template('recipes/createRecipe.html', form=form)


 类似资料:
  • 问题内容: 我在数据库中有几条记录,它们想要形成如下URL: 该会从数据库中拉出。 有什么办法可以在flask中取出吗? 问题答案: 你可以将变量名放在views.py函数中。例如: 为了使数据库信息显示在你的站点上,你需要将参数传递到模板中。因此,在模板中,你将引用以下参数: 然后,当你访问mysite.com/post/anything_here时,“ anything_here”将进入你的函

  • 问题内容: 我正在抓取一个可能包含很多的网站,例如: 我想像一样填充,并像在爬网期间那样从URL中提取项目。 我可以用来实现此功能吗?以及如何在抓取过程中动态生成? 问题答案: 动态生成URL的最佳方法是重写Spider 的方法:

  • 问题内容: 我正在尝试在MySQL中生成序列表,以便可以从获得唯一ID 。 问题是我需要动态地多个序列。 首先,我创建了一个表: 然后尝试使用http://dev.mysql.com/doc/refman/5.0/en/information- functions.html#function_last-insert- id中的 示例获取编号 一段时间后,我意识到我还需要安全地为新标签生成行。因此,

  • 问题内容: 我不太确定如何处理此问题。我希望我能到达那里。 例如,我在一个页面上有一张充满地址的表。这些计数是动态的(可以是5或10或任何其他计数)。我希望可以在一页上进行编辑。 我的方法是创建wtforms一个表单编辑一个地址,并乘以它在Jinja2的和附加到HTML propertys并在 从itereation,这样我就可以提取人工数据的每一行,并把它放回我的形式,当我想评估一下。 因此,此

  • 我在Adobe Acrobat Pro中制作了包含Radiobutton,文本字段,按钮,复选框和条形码的PDF格式。一切正常。 但根据新的要求,我必须“自动生成”一些字段,如Radiobutton,Text Field和CheckBox,点击“添加字段”按钮,点击该按钮,控件应该自动生成到PDF表单。 附加的,已经添加到PDF表单中的文本,只要字段在表单顶部自动生成,就会向下流动。 根据我的发现

  • 我有这个生成动态字段的示例代码。 我的问题是我不知道如何将数据插入数据库。 我尝试过内爆,但结果不是我想要的格式。 这是我的专栏(id、姓名、糖果、水果、饮料) 所以如果我生成3行,它应该像这样插入 事实上,我不知道这是否可能。谢啦 小提琴 https://jsfiddle.net/jqj1h4vb/2/