2017-09-28 46 views
0

我正在研究一個django應用程序,更具體地說,一個formset(一組表單)。我有表單集數量設置查詢集檢索的對象的數量。我想要做的是對錶單集進行更改,以便在表單集中的每個表單之間包含與表單集相關的用戶的名稱。現在發生的事情是,它打印整個formset,然後我要移動的名稱將放置在formset中的每個表單之間。在Formset_Factory中添加表單內容= Django

**更新**。

現在發生的是每個不同的被迭代的表單之間發生的事情,它顯示了所有正在顯示的對象。我的問題是我只希望列表中的第一個對象在第一個窗體之前打印,第二個對象在第二個窗體之前顯示。等等...

樣品正在發生的事情:

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.management_form }}也格式如下面的代碼

<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

謝謝你,它的工作。但現在我有另一個問題。我搞砸了,但現在它遍歷每個不同字段之間的整個對象列表。請檢查更新問題... @neerajkumar –

+0

如果你看看orignal文章的更新部分,我實施了你的方法。我有三種形式和三個用戶。它目前正在遍歷每個創建的表單之間的列表中的所有對象。因此,所有用戶都會形成,所有用戶比表單等等。我想找到一種方法讓用戶形成,然後形成用戶,然後形成,然後不是所有的用戶形成。我更新了原始帖子。 @neerajkumar –

+0

是否有助於你理解 –