2017-02-12 3 views
0

テーブルを生成しているときにモデルインスタンスのデータをフォームフィールドにあらかじめ入力する方法はありますか?DjangoテンプレートからModelFormインスタンスをリクエストする

私はキャンペーンモデルを持っており、インスタンス値とフォームフィールドをテーブルにループしているとします。

など。次のようなもの:

   {% 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を使用してテンプレート内でループすることができます。

コードの上部にあるように、キャンペーンの詳細を印刷するのではなく、編集可能なテキストとしてフォームフィールドをスタイリングし、編集ボタンをクリックしたときに有効にする方が簡単です。

関連する問題