2017-02-12 128 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在模板中循環使用它們。

您可能會發現,根據代碼的頂部打印裸露的活動詳細信息會更容易/更漂亮,但會將表單字段樣式設置爲不可編輯的文本,然後在單擊編輯按鈕時啓用它們。