2017-07-18 62 views
2

我有一個瓶神社產生一個表,看起來像一個HTML模板,它循環:瓶模板 - 對於循環迭代鍵:值

<tbody> 
    {% for segment in segment_details %} 
    <tr> 
     <td>{{segment}}</td> 
     <td>{{segment_details['{{segment}}']}}</td> 
    </tr> 
    {% endfor %} 
</tbody> 

我試圖通過迭代具有不同長度/鍵的文檔,並將表中的每一行作爲鍵和值。在我的Python代碼我這有其在外殼所需的響應:

 for item in segment_details: 
      print(item, segment_details[item]) 

但在瓶我獲得該項目正確列出所有的行,但

{{segment_details['{{segment}}']}}

」不是個沒有產生任何價值,我嘗試過,沒有單引號。這可能嗎?

+1

你嘗試刪除'{{}}''左右segment'? – Wondercricket

回答

1

這是你的錯誤是:

<td>{{segment_details['{{segment}}']}}</td> 

沒有必要爲{{ }}內。 這應該只是:

<td>{{segment_details[segment]}}</td> 

更多看到的文檔Jinja。 當您在Jinja2中編寫聲明(iffor)時,您使用{% statement %},但是當您訪問變量時,只需使用{{ variable }}即可。

+0

感謝Kemis - 欣賞快速反應和您的建議完美工作! –

1

它是一個解決方案

<tbody> 
    {% for key, segment in segment_details.items() %} 
    <tr> 
     <td>{{ key }}</td> 
     <td>{{ segment }}</td> 
    </tr> 
    {% endfor %} 
</tbody>