在
生成表时,有没有办法用模型实例中的数据预填充表单字段?
假设我有一个广告系列模型,并且我正在循环表中的实例值和表单字段。
例如,像这样:
{% for campaign in all_campaigns %}
<tr>
<td>{{ forloop.counter }}</a></td>
<td>{{ campaign.name }}</td>
<td>{{ campaign.get_status_display }}</td>
<td>{{ campaign.start_date }}</td>
<td>{{ campaign.end_date }}</td>
</tr>
# --> have these form fields based on the campaign
# instance that's being rendered above, so clicking an
# edit button will edit this campaign instance ?
<tr class='initially-hidden'>
<td>{{ campaign.id }}</a></td>
<td>{{ form.name}} </td>
<td>{{ form.status }}</td>
<td>{{ form.start_date }}</td>
<td>{{ form.end_date }}</td>
</tr>
{% endfor %}
提前感谢!
查看 ModelFormSets,特别是使用 modelformset_factory
函数。这将为您生成捆绑在一起的所有表单,然后您可以使用表单集模板标记在模板中循环访问它们。
您可能会发现,不费心按照代码的顶部打印裸露的广告系列详细信息,而是将表单字段样式设置为不可编辑的文本,然后在单击编辑按钮时启用它们,这更容易/更漂亮。