2017-02-12 58 views
0

当我正在生成表格时,是否有任何方法使用来自模型实例的数据预填充表单字段?从Django模板请求ModelForm实例

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

E.g.像这样:

   {% 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 %} 

在此先感谢!

回答

0

ModelFormSets,特别是使用modelformset_factory函数。这将生成所有为您捆绑在一起的表单,然后您可以使用formset template tags在模板中循环使用它们。

您可能会发现,根据代码的顶部打印裸露的活动详细信息会更容易/更漂亮,但会将表单字段样式设置为不可编辑的文本,然后在单击编辑按钮时启用它们。