在这里,django 的新手。
我在 Django 中使用表单集作为向导过程中一个步骤的一部分,我想在该过程完成后提交它们(而不是通过经典提交)。我想使用 Javascript 通过 POST 将它与其他数据一起发送。
除了一个一个地序列化所有表单并“手动”将它们发送到 json 数组中之外,还有其他方法吗?是否可以将它们作为“formset”发送?
我所拥有的示例:
在 views.py 中
formset = formset_factory(CustomerForm, extra=customer_number)
return render (request, 'customer/customer_info.html', {'customerformset':formset})
在模板中
{% for form in customerformset %}
{{form}}
{% endfor %}
在呈现的 html 中
<input class="form-control input-sm" maxlength="30" name="form-0-name" placeholder="Name" required="true" type="text">
<input class="form-control input-sm" maxlength="30" name="form-0-surname" placeholder="Surname" required="true" type="text">
<input class="form-control input-sm" maxlength="30" name="form-0-email" placeholder="Email" required="true" type="text">
最佳答案
尽管从 Django 的 Angular 来看,表单是分开的,但在 HTML 中,它们都包含在同一个 <form>
中。元素。所以你可以一次性序列化它们:
data = $('form').serialize();
请注意,这不会转换为 JSON,也没有必要这样做:这会将值转换为正常的表单编码数据,可以直接发布并通过标准 request.POST
在 Django 中使用。 .
关于javascript - 通过 AJAX 发布 Django 表单集,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31959134/