今 names は list 型のデータであるとして,
python3
names = ['suzuki', 'tamura', 'imagawa']
のように様々な名前が入っているとします. このとき html 上で
index.html
{% for name in names %} <a href="{{ 'url_for('form', chosen='{{ name }}' }}">Click here. </a> {% endfor %}
と書いて, 最終的には名前の数だけ "Click here. " を作り, それぞれが /form?chosen=...という http にアクセスできるようにしたいのです.
しかしこのままでは {{ }} が入れ子になっているため(?), 正常に動きません.
テストケースとして chosen='abc' を代入した下記のもの
index.html
{% for name in names %} <a href="{{ 'url_for('form', chosen='abc' }}">Click here. </a> {% endfor %}
は正常に /form?chosen=abc にアクセスできました.
また jinja2 の記法では python の format 関数のようなことができると聞いたので
index.html
{% for name in names %} <a href="{{ 'url_for('form', chosen='{}'!'.format(name) }}">Click here. </a> {% endfor %}
と書き換えてみましたが失敗しました.
目標を達成するためにはどのように書けばよいのでしょうか.
Flask を始めたばかりのため, 初歩的な質問かもしれませんが, 何卒宜しくお願い致します.

0 コメント