2017-08-11 47 views
0

我一直試圖在燒瓶模板表格視圖中填充這些輸出。但是當它呈現時,它會顯示錶格中的最後一個列表值(覆蓋第一個列表)。任何人都可以請幫助我如何創建一個新的列當第二個列表進入圖片?燒瓶模板將兩個列表轉換爲表格視圖中的不同列表

Python代碼:輸出的usage_list

for i in mac: 
    #sqlite query 
    usage_list = cur.fetchall() 

[5.0, 5.0, 5.0, 5.0, 5.0] 
[10.0, 10.0, 10.0, 10.0, 10.0, 10.0, 10.0, 10.0, 10.0, 10.0, 10.0, 10.0] 

HTML代碼

{% for item in usagelist %} 
    <tr> 
    <td> {{item}} </td>  

    </tr> 
{% endfor %} 

希望的輸出: 例如:

col 1 col 2 

10.0 0.0 
10.0 5.0 
10.0 5.0 
10.0 5.0 
10.0 0.0 
10.0 5.0 
+0

每個循環迭代生成一列只有一列。你確定這是你想要的嗎?要創建表格,您可能需要兩個嵌套循環,一個用於行,一個用於列。 –

+0

@FlorianWinter冬天你是正確的。我嘗試過兩個嵌套的循環。我可以分開這些值,但你能建議我如何分別傳遞列和列的列表? – praveen

+0

您正在討論兩個列表,但在您的代碼中,只有一個名爲'usage_list'的列表。另外,在「usage_list的輸出」下,顯示兩個列表。你的意思是還有另一個變量,比如'list2',這是另一個列表,應該用來填充第二列嗎? –

回答

0

如果你不能(容易)建立適合您需要的模板引擎循環結構,你可以隨時將它傳遞給模板引擎之前轉換數據。

例如,您可以將兩個列表成爲一個列表的列表中的Python:

table_data = [[list1[i], list2[i]] for i in range(0, len(list1))] 

(你或許可以也可以使用itertools.izip這裏...)

然後使用嵌套的循環來渲染在神奇中的變換數據:

{% for row in tabledata %} 
<tr> 
    {% for item in row %} 
    <td> {{item}} </td>  
    {% endfor %} 
</tr> 
{% endfor %} 
+0

謝謝,我會檢查這個並回復你,對於最近的回覆感到抱歉 – praveen