Flask Jinja forループを含む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])
しかし、Flaskでは、すべての行を正しくリストするアイテムを取得しますが、
{{segment_details['{{segment}}']}}
値を生成していません。単一引用符を使用して、または使用せずに試しました。これは可能ですか?
これがエラーの原因です。
<td>{{segment_details['{{segment}}']}}</td>
内部に{{ }}
は必要ありません。それだけでする必要があります:
<td>{{segment_details[segment]}}</td>
詳細については、 Jinja のドキュメントを参照してください。 Jinja2
でステートメント(if
、for
)を作成するときは{% statement %}
を使用しますが、変数にアクセスするときは{{ variable }}
を使用します。
それは解決策です
<tbody>
{% for key, segment in segment_details.items() %}
<tr>
<td>{{ key }}</td>
<td>{{ segment }}</td>
</tr>
{% endfor %}
</tbody>