簡體   English   中英

字典中的Flask Jinja2模板字典

[英]Flask Jinja2 template dictionary in a dictionary

我正在Flask應用程序中使用以下字典,但無法弄清楚如何在Jinja2模板中選擇嵌套的字典值。

dict = {"key1": {"subkey1":"subvalue1","subkey2":"subvalue2","subkey3":"subvalue3"}, "key2": {"subkey1":"subvalue1","subkey2":"subvalue2","subkey3":"subvalue3"}}

我能夠像這樣在python shell中獲得每個值:

print(dict['key1']['subkey1'])
print(dict['key1']['subkey2'])
print(dict['key1']['subkey3'])

我將字典發送到模板,如下所示:

return render_template('template.html', dict=dict)

然后在嘗試模板時,我有:

{% for item in dict %}
    <td>{{ item.subkey1 }}</td>
    <td>{{ item.subkey2 }}</td>
    <td>{{ item.subkey3 }}</td>
{% endfor %}

但這不會返回我希望的子值。

{% for key1,item1 in dict.items() %}
   {% for key2,nested_item in item1.items() %}
      <td> {{nested_item}} </td>
   {% endfor %}
{% endfor %}

dict.item()用於獲取字典dict鍵和項。

訪問字典需要1級循環,訪問字典的詞典需要2級循環。

這個問題根本與Jinja無關。

當用for x in y遍歷字典時,您只會得到鍵,而不是值。 如果要遍歷值,則需要明確地執行以下操作:

{% for item in dict.values() %}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM