2011-08-29 52 views
1

半簡要概述渲染...串聯在Django兩個變量正在通過模板

---指數是對應於行的總數指標的Python列表的HTML表格會有。例如,如果該列有5行,則列表將爲[0,1,2,3,4]。

--- RowNames是HTML表格行的單個名稱的Python列表。例如[標題,年份,作者,日期,州]

--- ColData是填充HTML行的表格列的數據。例如[ 「偉大的斯科特」,1989年, 「詹姆斯·比克斯比」, 「2011年12月4日」, 「MA」]

這是我需要做的......

{% for Index in Indices %} 
     <tr> 
      <td width='11%' align='right'><strong>{{ RowNames.Index }}</strong></td> 
      <td width='89%' align='left'>{{ ColData.Index }}</td>  
     </tr>    
{% endfor %}  

但是,Django不會將{{RowNames.Index}}或{{ColData.Index}}解釋爲列表的第i個元素。我如何重新編碼我上面的內容,因此它被解釋爲列表中的第i個元素?

在此先感謝。

回答

0

您可以通過forloop.counter0(請參閱here)訪問該元素的索引。

好吧,我記得錯了。基本上你應該這樣處理問題: 要麼創建對象列表或元組列表。 Django不支持這個原因 - 編程不應該在模板中完成。

使用Python的zip()功能,您可以創建的元組具有以下形式的列表:[(rowname,coldata),(rowname,coldata)...]

mydata = zip(rowname_list, coldata_list) 

現在在你的模板,你可以遍歷在每個rowname和coldata像這樣:

{% for rowname,coldata in mydata %} 
<tr> 
    <td width='11%' align='right'><strong>{{ rowname }}</strong></td> 
    <td width='89%' align='left'>{{ coldata }}</td>  
</tr> 
{% endfor %} 
+0

謝謝。但我不確定那是否解決了問題。這給出了循環的當前迭代的計數,但是它不能解決能夠將該計數連接到任何列表以便訪問列表的特定索引的問題。或者我錯過了什麼? – Justin

+0

請參閱編輯。 –

+0

太棒了,這就是我在發佈問題後纔開始討論的。這是解決這個問題的正確方法。感謝您的幫助。 – Justin