在具有多个表单的表单集中,每个表单都获得一个唯一的ID,如“MyForm-0_form”,而MyForm是公共前缀,0是迭代表单索引。
假设模板看起来像这样
template.py:
<form action="" method="POST>
{% for form in formset %}
{{form}
{% endfor %}
</form>
提交表单后,我想执行以下操作:
view.py:
[...]
if request.method == "POST":
if formset.isValid():
for form in formset:
print form.currentFormID #here i get stuck. What I would like to yield: MyForm-0
答案 0 :(得分:2)
试试这个:
if request.method == "POST":
if formset.is_valid():
for form in formset:
print form.prefix
答案 1 :(得分:1)
在表单实例中使用prefix参数。
form1 = FormFirst(request.POST, prefix='form1')
form2 = FormSecond(request.POST, prefix='form2')
使用前缀的好处是您无需手动重命名字段