2017-09-28 7 views
0

私はdjangoアプリケーション、具体的にはフォームセット(フォームのグループ)を作成しています。私は、フォームセット量は、クエリセットによって取得されたオブジェクトの数を設定しています。私がしたいのは、formsetの各フォームの間に、フォームセットに関連するユーザーの名前を含めるようにフォームセットを変更することです。今起こっているのは、フォームセット全体を印刷し、移動したい名前をフォームセットの各フォームの間に配置するということです。Formset_Factory = Djangoのフォーム間にコンテンツを追加する

**更新**。

ここでは、反復されているさまざまなフォームのそれぞれの間に、表示されているすべてのオブジェクトが表示されています。私の問題は、リスト内の最初のオブジェクトが最初のフォームの前に印刷され、2番目のオブジェクトが2番目のフォームの前に表示されることだけです。以下のように...何が起こっているかの

サンプル:

Add expense - restructured group 
Please complete the form below 

josh 
lifter 
omar 
Amount: 0 
Description: expense 

josh 
lifter 
omar 
Amount: 0 
Description: expense 

josh 
lifter 
omar 
Amount: 0 
Description: expense 

submit 

私はそれがちょうどように最初のフォームの最初の名前を表示したいです。ここでは、コードは次のようになります。

{% extends "base.html" %} 

{% block content %} 
    <h2>Add expense - {{ currentGroup.name }}</h2> 
    {% if message %} 
    <p>{{message}}</p> 
    {% endif %} 
    <form action="." method="POST"> 
    {% csrf_token %} 
    {{ form.management_form }} 
    {% for f in form %} 
     {% for expense in expenses %} 
     <p>{{ expense.user.username }}</p> 
     {% endfor %} 
     {{ f.as_p }} 
    {% endfor %} 
    <input type="submit" name="submit" value="submit"> 
    </form> 
{% endblock %} 

答えて

1

あなたはテンプレートでフォームのVARを繰り返すことができ、フォーム間で情報を追加していますがありがとうございコード

<form action="." method="POST"> 
    {% csrf_token %} 
    {{ form.management_form }} 
    {% for f in form %} 
    {# Add whatever information you want to show between forms #} 
    {{ f.as_p }} 
    {% endfor %} 
    {% for expense in expenses %} 
     <p>{{ expense.user.username }}</p> 
    {% endfor %} 
    <input type="submit" name="submit" value="submit"> 
    </form> 
+0

以下のような形でも{{ form.management_form }}を追加する必要があります確認することができ、それが働きました。しかし、今私は別の質問があります。私はそれを使いこなしましたが、今度は、各差分フィールドの間のオブジェクトのリスト全体を反復処理しています。更新質問を確認してください... @neerajkumar –

+0

あなたは、orignal投稿の更新されたセクションを見て、私はあなたが持っていた方法をimplimented。私は3つのフォームと3人のユーザーを持っています。現在、作成されている各フォームの間にリスト内のすべてのオブジェクトが反復処理されています。したがって、すべてのユーザーはフォームを作成し、フォーム以外のユーザーはすべてフォームを作成します。私は、ユーザー、フォーム、ユーザー、そしてフォームを持つ方法を見つけ出し、すべてのユーザーがフォームを作成するわけではありません。元の投稿を更新しました。 @neerajkumar –

+0

これはあなたの理解に役立ちます –

関連する問題