Flask WTForms中FieldList结合Formfield的使用方法,提交多行表单数据

本文介绍如何在Flask应用中使用WTForms的FieldList结合Formfield处理多行表单数据。讨论了FieldList的属性如min_entries、max_entries以及操作方法如append_entry()和pop_entry()。同时,提到了在HTML和JS中动态生成及管理表单行的方法,虽然表单验证的特定格式设置相对复杂。
摘要由CSDN通过智能技术生成

WTForms中FieldList的使用,可提交多行表单数据

官方文档

authors = FieldList(StringField('Name', [validators.DataRequired()]))

  • min_entries 最小个数
  • max_entries 能接受的最大个数
  • append_entry() 添加
  • pop_entry() 删除最后一个

FieldList 渲染出的html,其id和name会是:valve-0、valve-1这种形式,如果是用FormField应用在别的表单,就是root_ud-0-dap这样。


forms.py

class UserDefined(FlaskForm):
    dap = IntegerField('天数', render_kw={
   'digits': 'true', 'required': 'true'})
    value = DecimalField('值', places=2, render_kw={
   'number': 'true', 'required': 'true'})
class UserForms(FlaskForm):
	...
    root_ud = FieldList(FormField(UserDefined))
    lai_ud = FieldList(FormField(UserDefined))
    ...

views.py

form = UserForms()
# 数据存入的时候
if form.validate_on_submit():
	if lr_user_defined: # 目前是删除以前的所有字段,如果有人有什么好方法感谢分享。
    	for i in lr_user_defined:
        	db.session.delete(i)
    for r in form.root_ud:
        r_dap = r.dap.data
        r_value = r.value.data
        r_u = TRootDepthUserDefined(plant_id=
  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 5
    评论
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值