修复 ManagementForm 数据
Fixing ManagementForm-data
我有一些代码如下所示:
<table>
{% for n in model %}
{% for i in formset.forms %}
{% if forloop.parentloop.counter == forloop.counter %}
<tr>
<th>{{ n }}</th>
{% for j in i %}
<th>{{ j }}</th>
{% endfor %}
</tr>
{% endif %}
{% endfor %}
{% endfor %}
</table>
我真的很想保持这种状态,因为这是我被要求的演示文稿。但是,我不断收到 "ManagementForm-data missing or tampered with" 错误,显然是因为我弄乱了表单集。
是否有修复 managementform-data 的聪明方法,以便我的 POST 能够通过,或者我是否必须完全重新格式化我的模板?
(是的,我知道我的代码包含丑陋、低效的 hack。请随时提出替代方案,但性能并不重要。)
您收到有关缺少管理表单数据的错误,因为您没有将管理表单包含在 {{ formset.management_form }}
中。有关详细信息,请参阅 the docs。
为了防止模板中的双循环,您可以在视图中压缩 model
和 formset.forms
:
models_and_forms = zip(model, formset.forms)
然后遍历模板中的models_and_forms
:
<table>
{{ formset.management_form }}
{% for n, i in models_and_forms %}
<tr>
<th>{{ n }}</th>
{% for j in i %}
<th>{{ j }}</th>
{% endfor %}
</tr>
{% endfor %}
</table>
我有一些代码如下所示:
<table>
{% for n in model %}
{% for i in formset.forms %}
{% if forloop.parentloop.counter == forloop.counter %}
<tr>
<th>{{ n }}</th>
{% for j in i %}
<th>{{ j }}</th>
{% endfor %}
</tr>
{% endif %}
{% endfor %}
{% endfor %}
</table>
我真的很想保持这种状态,因为这是我被要求的演示文稿。但是,我不断收到 "ManagementForm-data missing or tampered with" 错误,显然是因为我弄乱了表单集。
是否有修复 managementform-data 的聪明方法,以便我的 POST 能够通过,或者我是否必须完全重新格式化我的模板?
(是的,我知道我的代码包含丑陋、低效的 hack。请随时提出替代方案,但性能并不重要。)
您收到有关缺少管理表单数据的错误,因为您没有将管理表单包含在 {{ formset.management_form }}
中。有关详细信息,请参阅 the docs。
为了防止模板中的双循环,您可以在视图中压缩 model
和 formset.forms
:
models_and_forms = zip(model, formset.forms)
然后遍历模板中的models_and_forms
:
<table>
{{ formset.management_form }}
{% for n, i in models_and_forms %}
<tr>
<th>{{ n }}</th>
{% for j in i %}
<th>{{ j }}</th>
{% endfor %}
</tr>
{% endfor %}
</table>