Flask FieldList使用简介

本文简要介绍如何在Flask中使用FieldList进行动态表单管理,包括定义子form、HTML渲染及添加/删除按钮事件的实现,允许用户根据需求动态增删表单字段。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1. 定义一个子form和一个form

class ItemForm(FlaskForm):
    date_sel = DateField('日期', format='%Y-%m-%d')
    content = StringField("内容")
    delete = SubmitField("删除")

#自定义表单类
class AddForm(FlaskForm):
    item_list = FieldList(FormField(ItemForm),min_entries =0) #min_entries =3表示有三个同样的ItemForm
    submit = SubmitField("添加")

 2. html中渲染form

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
<form action="#" method="post">
    {% for f in form.item_list%}
        {
  
  {f.date_sel}}{
  
  {f.delete}}<br>
        {
  
  {f.content}}<br>

static enum NANDFLASH_RET_T nandflash_start_page_read(enum HAL_FLASH_ID_T id, uint32_t row_addr) { uint8_t status; uint8_t ecc_ok_level; enum NANDFLASH_ECC_STATUS_T ecc_st; norflaship_cmd_addr(id, GD5F4GQ4_CMD_PAGE_READ, row_addr); norflaship_busy_wait(id); nandflash_status_OIP_1_waitid(id); status = nandflash_read_statusid(id); ecc_st = flash_list[flash_idx[id]]->ecc_status_type; ecc_ok_level = flash_list[flash_idx[id]]->ecc_ok_level; if (ecc_st == NANDFLASH_ECC_ST_3BITS_111_BAD) { status = GET_BITFIELD(status, GD5F4GM5_ST_ECCS); if (status == 0b000) { return NANDFLASH_RET_OK; } else if (status == 0b111) { return NANDFLASH_RET_READ_ERR; } else if (status <= ecc_ok_level) { return NANDFLASH_RET_OK; } else { return NANDFLASH_RET_READ_CORRECTED; } } else if (ecc_st == NANDFLASH_ECC_ST_3BITS_010_BAD) { status = GET_BITFIELD(status, GD5F4GM5_ST_ECCS); if (status == 0b000) { return NANDFLASH_RET_OK; } else if (status == 0b010) { return NANDFLASH_RET_READ_ERR; } else if (status <= ecc_ok_level) { return NANDFLASH_RET_OK; } else { return NANDFLASH_RET_READ_CORRECTED; } } else { status = GET_BITFIELD(status, GD5F4GQ4_ST_ECCS); if (status == 0b00) { return NANDFLASH_RET_OK; } else if (status == 0b10) { return NANDFLASH_RET_READ_ERR; } else if (status <= ecc_ok_level) { return NANDFLASH_RET_OK; } else { return NANDFLASH_RET_READ_CORRECTED; } #if 0 if (ecc_st == NANDFLASH_ECC_ST_2BITS_11_COR) { return NANDFLASH_RET_READ_CORRECTED; } #endif } return NANDFLASH_RET_READ_ERR; } 解析一下?
03-29
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

dailinqing1984

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值