【问题标题】:Django formset - surplus line is rendered in the tableDjango formset - 多余的行在表格中呈现
【发布时间】:2016-07-03 20:47:08
【问题描述】:

我使用 Django 表单集成功渲染了一个表格,但最后渲染了一个 suplus 空行!我做错了什么?

<table id="formset" class="form table table-condensed zeon zeon-row-hover">
                    {{ formset.management_form }}
                        
                    {% for form in formset.forms %}
                      {% if forloop.first %}
                      <thead><tr>
                        {% for field in form.visible_fields %}
                        <th>{{ field.label|capfirst }}
                        {% endfor %}
                      </tr></thead>
                      {% endif %}
                      <tr class="{% cycle row1,row2 %}">
                      {% for field in form.visible_fields %}
                        <td class = 'zeon_input_table_cell'>
                        {# Include the hidden fields in the form #}
                        {% if forloop.first %}
                              {% for hidden in form.hidden_fields %}
                              {{ hidden }}
                              {% endfor %}
                        {% endif %}
                          {{ field.errors.as_ul }}
                            {{field}}
                        </td>
                      {% endfor %}
                      </tr>
                    {% endfor %}    
                    </table>

查看:

MyModelFormSet =  modelformset_factory(MyModel, exclude=('agreement_vendors',))
formset = MyModelFormSet(queryset = MyModel.objects.filter(...))
return render_to_response('vendors/edit_agreement.html',
                             {'formset':formset},
                              context_instance=RequestContext(request))
    

更新: 根据下面的答案,问题解决了把extra = 0

【问题讨论】:

  • 很高兴你解决了。

标签: django formset


【解决方案1】:

根据Django docs

如您所见,它只显示了一个空表单。显示的空表单的数量由 extra 参数控制。默认情况下,formset_factory() 定义了一种额外的形式;以下示例将显示两个空白表单:

考虑到这一点,Django 文档建议执行以下操作来设置额外表单的数量:

ArticleFormSet = formset_factory(ArticleForm, extra=2)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-04-15
    • 2014-03-12
    • 1970-01-01
    • 2016-12-30
    • 2021-10-02
    • 2021-10-10
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多