为什么不提交此django表单集?

为什么不提交此django表单集?,django,submit,formset,Django,Submit,Formset,我的表格如下: EduFormSet = formset_factory(forms.CandidateDegreeForm, can_delete=True) edu_formset = EduFormSet(prefix='candidate_degree') 在模板中,我将执行以下操作: {% if edu_formset %} {% for form in edu_formset %} <div class="formset-form" style="visibility

我的表格如下:

EduFormSet = formset_factory(forms.CandidateDegreeForm, can_delete=True)
edu_formset = EduFormSet(prefix='candidate_degree')
在模板中,我将执行以下操作:

{% if edu_formset %}
{% for form in edu_formset %}
    <div class="formset-form" style="visibility: visible;">
        <form id="{{ form.prefix }}" method="POST" action="/degree/add/">
            <h4>Some Heading Here</h4>
            {% csrf_token %}
            {% for field in form %}
                {% include "form_field.html" %}
            {% endfor %}
        </form>
        <script type="text/javascript">
            jQuery(document).ready ( function(){
                jQuery('{{ form.prefix }}').validationEngine();
            });
        </script>
        <div class="clearfix"></div>
    </div>
{% endfor %}
{{ edu_formset.management_form }}
    <div class="button-container right">
        <input class="button" type="submit" value="submit" />
    </div>
{% endif %}
{%if edu_formset%}
{edu_formset%中的表单为%s}
有些人来了
{%csrf_令牌%}
{%形式的字段为%}
{%include“form_field.html”%}
{%endfor%}
jQuery(文档).ready(函数(){
jQuery({form.prefix}}').validationEngine();
});
{%endfor%}
{{edu_formset.management_form}
{%endif%}

我不知道为什么,但当我点击“提交”按钮时,实际上什么也没有发生。

您的“提交”按钮不在表单中,因此该操作不会由单击触发

以下是演示如何渲染表单集:

<form method="post" action="">
    <!-- Notice how the formset (below) and thus its submit button
         is INSIDE the form (above) -->
    {{ formset.management_form }}
    <table>
        {% for form in formset %}
        {{ form }}
        {% endfor %}
    </table>
</form>

{{formset.management_form}
{formset%中表单的%s}
{{form}}
{%endfor%}

您尝试使用
id
form.prefix
创建多个表单。这可能可行,但每个表单都必须使用自己的提交按钮呈现。表单集被设计成将多个表单组合成一个表单,并通过所述前缀保证值名称的唯一性。它们将被封装在一个单独的表单中,并共享任何提交触发器。

python有可用的stacktrace吗?您是否尝试删除validationEngine并让django执行表单验证?是的,您应该这样做。@SamueleMattiuzzo没有stacktrace,提交函数由于某种原因根本没有被触发。我还尝试删除验证引擎,但没有任何帮助。我不想提交一份表单。我想提交表单集中的所有表单。我不知道表单集,只是检查了文档。我看到他们将表单集放在一个html表单中,这会让我坚持我的答案…这意味着我应该将所有表单都放在表单元素中?在这里发布文档是不够的,因为他们不清楚如何提交表单,因此提出了这个问题。问题在第一行得到了回答。复制粘贴只是一个最小的说明。我将为您添加一条评论。