私はPythonのようなことをしようとしています
("db.%s.dump" % n for n in names)
私は試した
{{ databases | map("format", "db.%s.dump") }}
{{ "db.%s.dump" | map("format", databases) }}
そしてもっとたくさん。 私が試したすべてが失敗しました。
ドキュメントは役に立ちません:-(
なぜ{% for n in names %} {{ "db.%s.dump"|format(n) }} {% endfor %}
ないのですか?
@NormanDenayer map()で別のフィルターに渡したい場合を除いて、問題ありません。
個人的に私は独自のプラグインを書くことで終わりました:
from jinja2.utils import soft_unicode
def format_string(text, fmt, *kw):
return soft_unicode(fmt).format(text, *kw)
class FilterModule(object):
def filters(self):
return dict(format_string=format_string)
使用法:
list_of_names | map('format_string', 'hello {}!')
これを拒否する理由については、 https: //github.com/pallets/jinja/pull/906#issuecomment-548393215を参照して
最も参考になるコメント
@NormanDenayer map()で別のフィルターに渡したい場合を除いて、問題ありません。