首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >迭代嵌套的FormField

迭代嵌套的FormField
EN

Stack Overflow用户
提问于 2015-02-03 17:12:07
回答 1查看 796关注 0票数 1

我试图在FormField中迭代Formfield,这两者都是FieldList的一部分。

在我的views.py中,我调用mainForm,模板成功地遍历FormField subForm。但是,当我无法让迭代通过subSubForm工作时。这些字段永远不会出现在浏览器中。

格式代码:

代码语言:javascript
复制
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模板:

代码语言:javascript
复制
{% for sub_form in form.sub_form %}
      {{ sub_form.form.name(placeholder='Scenario Title') }}
      {% for error in name %}
             {{error}}
      {% endfor %}

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

以上仅显示了sub_form.form.name-field。如何进行嵌套迭代,以便同时显示step字段?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-02-03 18:04:36

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

代码语言:javascript
复制
{% 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 %}

这将显示为:

代码语言:javascript
复制
<input id="sub_form-0-name" name="sub_form-0-name" placeholder="Scenario Title" type="text" value="">
<input id="sub_form-0-step-0-step" name="sub_form-0-step-0-step" placeholder="#" type="text" value="">  
<input id="sub_form-0-step-0-description" name="sub_form-0-step-0-description" placeholder="description" type="text" value="">
<textarea id="sub_form-0-step-0-information" name="sub_form-0-step-0-information" placeholder="info xch"></textarea>
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28304802

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档