从 Django 模板请求模型表单实例



生成表时,有没有办法用模型实例中的数据预填充表单字段?

假设我有一个广告系列模型,并且我正在循环表中的实例值和表单字段。

例如,像这样:

              {% 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 函数。这将为您生成捆绑在一起的所有表单,然后您可以使用表单集模板标记在模板中循环访问它们。

您可能会发现,不费心按照代码的顶部打印裸露的广告系列详细信息,而是将表单字段样式设置为不可编辑的文本,然后在单击编辑按钮时启用它们,这更容易/更漂亮。

最新更新