2013-10-03 23 views
0

有沒有一種方法可以在模板中從內聯表單訪問特定的表單,而無需對索引進行硬編碼? 我知道,通過一個formset迭代通常的辦法是做這樣的事情:在formset中訪問特定的表單而不對指數進行硬編碼

{% for form in formset %} 
    {{ form }} 
{% endfor %} 

但由於在模板上(我有多個表單集的一些細節,應並排顯示在表上,在另一個for內),如果我可以通過其索引訪問每個表單,會更好。我可以通過硬編碼索引,像{{ formset.0 }}做到這一點,但因爲我在模板正在迭代中,理想的情況是由forloop.counter拿到的形式,這樣我可以做類似

{% for field in fields %} 
<tr> 
    <td>{{ field }}</td> 
    <td>{{ formset1.[forloop.counter0] }}</td> 
    <td>{{ formset2.[forloop.counter0] }}</td> 
</tr> 
{% endfor %} 

有沒有辦法實現這個?

回答

4

自定義索引在模板中不可行。

您可以通過創建自己的過濾器來獲得相同的結果。請看下面的代碼片段:

http://djangosnippets.org/snippets/2740/

+0

乾杯!我剛剛發現這個http://stackoverflow.com/questions/13771323/how-to-access-list-using-variable-indexes-in-django-templates#answer-13771503,但你的解決方案更簡單! – Thiago

相關問題