3

私はそのようなjinjaマクロを備えたフラスコアプリを持っています

{% macro icon(site, title="") %}
    <img src="{{ url_for('static', filename="icons/XXX.png") }}" alt="{{ title }}" class="img-icon">
{% endmacro %}

私がする必要があるのは、ファイル名をsiteマクロに渡される変数と等しくすることです。したがって、XXXの代わりに。の値を指定する必要がありますsite

それを行う方法はありますか?

4

2 に答える 2

9

これは機能するはずです:

{% macro icon(site, title="") %}
    <img src="{{ url_for('static', filename='icons/%s.png' % site) }}" alt="{{ title }}" class="img-icon">
{% endmacro %}
于 2012-10-25T14:56:38.570 に答える
6

2.6( pep-3101 )以降のPythonでの文字列フォーマットの推奨される方法は、次を使用することstr.format()です。

{% macro icon(site, title="") %}
    <img src="{{ url_for('static', filename='icons/{0}.png'.format(site)) }}" alt="{{ title }}" class="img-icon">
{% endmacro %}
于 2014-03-25T13:16:47.773 に答える