迭代嵌套的FormField

2024-09-27 21:27:40 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图遍历FormField中的FormField,它们都是FieldList的一部分。在

在我的views.py中,我调用了mainForm,模板成功地迭代了FormField{}。但是,当我不能通过subSubForm使迭代工作时。这些字段不会出现在浏览器中。在

格式代码:

class subSubForm(Form):
    step = IntegerField("step", validators=[NumberRange(min=0, max=99)])
    description = TextField("Description")
    information = TextAreaField("Information Exchanged")])

class subForm(Form):
    name = TextField("Description")
    step = FieldList(FormField(subSubForm), min_entries=1)

class mainForm(Form):
   sub_form = FieldList(FormField(subForm), min_entries=1)

以及Jinja2模板:

^{pr2}$

上面只显示sub_form.form.name-字段。 如何进行嵌套迭代以使step字段也显示出来?在


Tags: nameform模板stepdescriptionminclassentries
1条回答
网友
1楼 · 发布于 2024-09-27 21:27:40

看起来您在模板的第二个嵌套循环中出错了。这是它的固定版本:

{% for sub_form in form.sub_form %}
      {{ sub_form.form.name(placeholder='Scenario Title') }}
      {% for error in name %}
             {{error}}
      {% endfor %}

      {% for step in sub_form.step %}
            {{ step.form.step(placeholder='#') }}  
            {{ step.form.description(placeholder='description') }}
            {{ step.form.information(placeholder='info xch') }}
      {% endfor %}
{% endfor %}

这将呈现为:

^{pr2}$

相关问题 更多 >

    热门问题