私は試した:
list1 = [{"username": "abhi", "pass": 2087}]
return render_template("file_output.html", list1=list1)
テンプレート内:
<table border=2>
<tr>
<td>
Key
</td>
<td>
Value
</td>
</tr>
{% for dictionary in list1 %}
{% for key in dictionary %}
<tr>
<td>
<h3>{{ key }}</h3>
</td>
<td>
<h3>{{ dictionary[key] }}</h3>
</td>
</tr>
{% endfor %}
{% endfor %}
</table>
上記のコードは、各要素を複数の文字に分割しています。
[
{
"
u
s
e
r
...
上記のネストされたループを単純な Python スクリプトでテストしたところ、正常に動作しましたが、Jinja テンプレートでは動作しませんでした。
ベストアンサー1
データ:
parent_list = [{'A': 'val1', 'B': 'val2'}, {'C': 'val3', 'D': 'val4'}]
Jinja2の反復では:
{% for dict_item in parent_list %}
{% for key, value in dict_item.items() %}
<h1>Key: {{key}}</h1>
<h2>Value: {{value}}</h2>
{% endfor %}
{% endfor %}
注記:
辞書項目のリストがあることを確認してください。 を取得した場合、UnicodeError
辞書内の値に Unicode 形式が含まれている可能性があります。 その問題は で解決できますviews.py
。 辞書がunicode
オブジェクトの場合、 にエンコードする必要がありますutf-8
。